首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从JSMin缩小的文件中删除换行符,并在IF条件下出现解析错误

从JSMin缩小的文件中删除换行符,并在IF条件下出现解析错误
EN

Stack Overflow用户
提问于 2011-09-29 23:18:02
回答 1查看 532关注 0票数 0

我正在尝试用php和JSMin动态压缩一个javascript文件。一切正常,但是当我尝试删除换行符时

代码语言:javascript
复制
$jsMinifiedClean = str_replace( array("\r","\n"),"",$jsMinified);

我得到一个javascript解析错误。在快速搜索代码后,我发现了问题:

代码语言:javascript
复制
if( condition ) statement
else statement;

"if“条件在行尾没有”;“。

为什么用YUI手动压缩的代码我得不到错误?为了避免使用JSMin压缩时出现的问题,if末尾的分号真的是强制性的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-29 23:25:15

为了避免使用JSMin压缩时出现的问题,在if的末尾使用分号

真的是强制性的吗?

如果您删除换行符,就会发生这种情况。默认情况下,出于这个原因,JSMin不会删除换行符,这就是automatic semicolon insertion。从JSMin page

在省略换行符方面更为保守,因为换行符有时被视为分号。如果换行符位于非ASCII字符、ASCII字母或数字或以下字符之一之前,则不会忽略该换行符:

\$_{(+-

如果它跟在非ASCII字符、ASCII字母、数字或以下字符之一之后:

\$_})+-“‘

如果您随后删除了换行符,您将自己承担责任,以确保换行符不会因为ASI而变得重要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7599551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档