我有一个缩小/打包的javascript文件,这会导致问题.问题是非打包输入文件在某些地方有一些丢失的分号,这些分号在换行时没有问题,但是当文件打包时,换行符会被删除并导致解析器错误.例如:
//input
var x = function() {
doSomething();
} // note: no semicolon
var y = 'y';
//----
// output
var x=function(){doSomething();}var y='y';
// error here: ^
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当我对输出文件进行替换以用分号和换行替换所有分号时,该文件可以正常工作!这使得很难找到错误,因为AFAIK,我想不出任何情况下分号后的换行应该改变什么.关于为什么要做这个替换的任何想法会使它工作?