繁体   English   中英

JavaScript打包问题

[英]Javascript packing problem

我有一个缩小/打包的javascript文件,这会引起问题。 问题在于,未打包的输入文件在某些地方缺少一些分号,当换行时,这不是问题,但是当打包文件时,将删除换行符,这会导致解析器错误。 例如:

//input
var x = function() {
    doSomething();
}  // note: no semicolon
var y = 'y';

//----
// output
var x=function(){doSomething();}var y='y';
//                  error here: ^

奇怪的是,当我在输出文件上执行替换操作以用分号和换行符替换所有分号时,文件起作用了! 由于AFAIK,这使查找错误变得非常荒谬,因为我无法想到分号后的换行符应该更改任何内容的任何情况。 关于为何执行此替换的任何想法都可以使它起作用?

呃...您尝试过JSLint吗?

当出现换行符时,将隐含一个分号。

使用jslint检查您的代码。 如果执行此操作并使其与分号有关,则它应该正确包装。

在JavaScript中,分号在换行符处隐式添加。 这引入了可能不明确的情况。 这篇博客文章: http: //robertnyman.com/2008/10/16/beware-of-javascript-semicolon-insertion/简要描述了该问题并给出了示例。

JSlint是一个很好的解决方案。 另外,某些代码编辑器会为您找到这些类型的错误。 如果我没记错的话,NetBeans会在您键入时实时捕获这些内容。 我相信科莫多岛和阿普塔纳也是如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM