我正在使用" grunt-closure-tools "。
当我尝试缩小简单的JS文件时,一切都运行良好。 但是当我尝试缩小 AngularJS 库或 Bootstrap 库时,我得到了下一个异常:
错误:命令失败:build \ lib \ angular.js:9040警告 - 关键字 旧版中不允许使用保留字作为不带引号的属性名称 JavaScript的版本。如果您要定位较新版本的 JavaScript,设置适当的language_in otion。
build \ lib \ angular.js:256:错误 - 解析错误。标识符是 保留字 * /
build \ lib \ angular.js:258:ERROR - 解析错误。标识符是 保留字if(isNaN(msie)){
...................
Gruntfile.js:
module.exports = function(grunt) {
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
closureCompiler: {
options: {
compilerFile: 'lib/google-closure-tools/compiler.jar'
},
minify: {
files: [
{
expand: true,
src: ['build/**/*.js', '!build/**/*.min.js'],
ext: '.min.js'
}
]
}
}
});
grunt.loadNpmTasks('grunt-closure-tools');
grunt.registerTask('closure', ['closureCompiler']);
};
感谢您的帮助。
答案 0 :(得分:3)
解决方案在缩小时使用(language_in:“ ECMASCRIPT5 ”)。
Gruntfile.js:
module.exports = function(grunt) {
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
closureCompiler: {
options: {
compilerFile: 'lib/google-closure-tools/compiler.jar',
compilerOpts: {
language_in: "ECMASCRIPT5"
}
},
minify: {
files: [
{
expand: true,
src: ['build/**/*.js', '!build/**/*.min.js'],
ext: '.min.js'
}
]
}
}
});
grunt.loadNpmTasks('grunt-closure-tools');
grunt.registerTask('closure', ['closureCompiler']);
};