javascript - grunt-closure-tools : ERROR - Parse error. 标识符是保留字

标签 javascript angularjs gruntjs grunt-plugins

我正在使用“grunt-closure-tools”。

当我尝试缩小简单的 JS 文件时,一切正常。 但是当我尝试缩小 AngularJS 库或 Bootstrap 库时,我遇到了下一个异常:

Error: Command failed: build\lib\angular.js:9040 WARNING - Keywords and reserved words are not allowed as unquoted property names in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in otion.

build\lib\angular.js:256: ERROR - Parse error. identifier is a reserved word */

build\lib\angular.js:258: ERROR - Parse error. identifier is a reserved word 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']);
};

感谢您的帮助。

最佳答案

解决方案是在缩小过程中使用 ( 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']);
};

关于javascript - grunt-closure-tools : ERROR - Parse error. 标识符是保留字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24887500/

相关文章:

javascript - Gruntjs angularjs cordova 图像未加载

javascript - KnockoutJs 中的条件数据绑定(bind)

ios - 尝试将 ios 添加到项目时出现 Ionic 错误

javascript - 更改所有标签的属性

javascript - CSV 文件作为单个字符串返回

javascript - 如何使用 ng-Repeat 来对数组对象进行 Angular 平移?

javascript - 使用 brunch 将 etag/版本添加到 Assets

gruntjs - 使用 Usemin 时如何在 Concat 选项中添加分隔符

javascript - 不能包含 # 或 & 的字符串的正则表达式

javascript - Windows脚本宿主在运行JavaScript时出现错误