我正在尝试使用gulp来缩小包含JS文件的文件夹。但是,其中一个文件具有上述错误,从而使其无法缩小。
我设法捕获并打印了错误,我在这里打印了部分错误:
JS_Parse_Error {
message: 'SyntaxError: Unexpected token: punc ())',
filename: 'ex.js',
line: 189,
col: 25,
pos: 6482,
stack: Error\n at new JS_Parse_Error (eval at <anonymous> ... )
plugin: 'gulp-uglify',
fileName: '.../js/ex.js',
showStack: false
}
有问题的文件包含以下缩写:
function() {
...
$.confirm({
buttons: {
confirm: function() {
$.post('/ajax-handler', {
...
})
.done( function(response) {
var data = filterResponse(response);
if (data['status'] == 'success') {
sleep(1000).then(() => {
* ...
});
sleep(5000).then(() => {
...
});
} else {
console.log('Oops!');
}
})
.fail( function(err, status, response) {
...
});
},
cancel: function() {}
}
});
...
}
我添加了上面的"*“,以指示JS_Parse_Error列出的确切位置。
发布于 2017-09-19 15:14:04
仅有npm install uglifyjs-webpack-plugin --save-dev
是不够的
主要问题是webpack's package.json中的"uglifyjs-webpack-plugin": "^0.4.6"
据semver称,^0.4.6 := >=0.4.6 <0.5.0
。由于前导零,webpack
将永远不会使用1.0.0-beta.2
。
所以在运行npm i -D uglifyjs-webpack-plugin@beta
之后,你需要再做一步,那就是rm -rf node_modules/webpack/node_modules/uglifyjs-webpack-plugin
。然后,webpack将从node_modules/uglifyjs-webpack-plugin
而不是node_modules/webpack/node_modules/uglifyjs-webpack-plugin
获取版本
2018-04-18更新: webpack v4没有这个问题
发布于 2017-09-12 13:53:26
添加babel-preset-es2015
依赖项以修复此问题。
并在.babelrc
文件中添加'es2015'
。
json
{
"presets": ["es2015"]
}
发布于 2018-04-20 02:22:09
我也有同样的问题,我找到了一个很棒的答案here,它帮助我找到了导致错误的文件。
转到Rails控制台并粘贴:
JS_PATH = "app/assets/javascripts/**/*.js";
Dir[JS_PATH].each do |file_name|
puts "\n#{file_name}"
puts Uglifier.compile(File.read(file_name))
end
希望它能帮助一些人!
https://stackoverflow.com/questions/42375468
复制相似问题