我有一个缩小/压缩的JavaScript文件,这是造成问题。问题是没有打包的输入文件有一些丢失的分号某处这在有换行符时不是问题,但是当文件打包时,换行符被删除并导致解析器错误。例如:Javascript包装问题
//input
var x = function() {
doSomething();
} // note: no semicolon
var y = 'y';
//----
// output
var x=function(){doSomething();}var y='y';
// error here:^
奇怪的是,当我做了更换输出文件用分号和新的生产线,该文件的工作,以取代所有分号!这使得它很难找到这个错误,因为AFAIK,我想不出任何在分号后换行会改变什么的情况。任何关于为什么做这个替换的想法会使它工作?
它伤害了我的感情。 – nickf 2009-06-18 02:50:35
该死的你Doug Crockford! – ichiban 2009-06-18 02:51:46
来解释:通过JSLint运行非压缩文件并涉及错误以查找缺少的分号解决了问题。我仍然对为什么在分号后添加换行符时遇到困惑...... – nickf 2009-06-18 02:55:12