在分号后插入换行符总是安全的吗?

问题描述 投票:1回答:5

我在将一个缩小的JavaScript文件检入Clearcase时遇到问题。有问题的文件是单行,远远超过8000 character limit that Clearcase imposes

我知道JavaScript解释器在换行时会做一些tricky things inserting semicolons,但我想知道在分号后添加换行符是否总是安全的。这样做是否有可能改变JavaScript代码的含义?

javascript syntax newline clearcase
5个回答
5
投票

要回答您的直接问题:是的,您可以在结束语句的分号后添加换行符。文件中可能还有分号的其他用法(例如在字符串或正则表达式中),您不应该触摸它们。

我还有另一个问题:你为什么要检查一个缩小的JavaScript文件?我认为最好检查原始的详细JavaScript源代码。另外,版本控制系统通常对一行文件无效。如果您已经在检查原始JavaScript,则现在必须保持两个文件之间的一致性(即,当您更改一个文件时,必须刷新另一个文件)。我建议检查一个脚本,在部署它时将缩小原始版本,而不是将缩小版本保留在Clearcase中。


3
投票

分号可以封装在一个字符串中。在字符串中添加换行符会改变javascript的含义。


3
投票

如果分号在字符串或正则表达式中(例如var rex = /;/g; - 在第二个分号后插入换行符是唯一安全的),那么是的,这显然是个问题。否则,在声明后有一个换行符总是安全的。


3
投票

管理员或开发人员需要在存储工件的每个VOB上运行此命令(在所需VOB的上下文中)(不是100%确定-supertype,“binary_file”可能更好)(不是100%确定-mergetype, “复制”可能会更好!)(您可以随后通过-replace选项更改此选项)

cleartool mkeltype -nc -supertype text_file -manager z_whole_copy -mergetype auto text_file_minified

这可用于更正尝试签入失败的文件。它们可能是用一种“text_file”创建的,每行text_file类型不能超过8000个字符。

cleartool chtype -nc -force text_file_minified jquery-1.8.2.min.js

将此文件放在您签入的桌面/开发计算机上。删除任何前导空格。

# AAA.magic
# This needs to copied to all developer desktops
# copy it next to default.magic (or cc.magic)
#   under ...\ClearCase\config\magic

# Leave these from the default.magic just in case
# files are processed in alphabetic order, hence the AAA prefix

# Check stat type
directory : -stat d ;
block_device : -stat b ;
char_device : -stat c ;
socket : -stat s ;
fifo : -stat f ;

# minified javascript and CSS
# some of these violate the 8000 character per line limit 
#  of clearcase text tools/type managers
# *.min.js
text_file_minified : -name "*.[mM][iI][nN].[jJ][sS]" ;
# *.min.css
text_file_minified : -name "*.[mM][iI][nN].[cS][sS][sS]" ;

-1
投票

Javascript中的分号始终确定代码行的结尾。

鉴于此,除非该分号是字符串的一部分,否则在分号后添加换行符应始终是安全的。

© www.soinside.com 2019 - 2024. All rights reserved.