grunt-closure-tools: ERROR - Ошибка разбора. идентификатор является зарезервированным словом

Я использую " grunt-closure-tools ".

Когда я пытаюсь минимизировать простой файл JS, все работает хорошо. Но когда я пытаюсь минимизировать библиотеку AngularJS или Bootstrap, я получаю следующее исключение:

Ошибка: команда не выполнена: build\lib\angular.js:9040 ПРЕДУПРЕЖДЕНИЕ. Ключевые слова и зарезервированные слова не допускаются в качестве имен свойств без кавычек в старых версиях JavaScript. Если вы ориентируетесь на более новые версии JavaScript, установите соответствующий параметр language_intion.

build \ lib \ angular.js: 256: ОШИБКА - Ошибка разбора. идентификатор является зарезервированным словом * /

build \ lib \ angular.js: 258: ОШИБКА - Ошибка разбора. идентификатор является зарезервированным словом 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']);
};

Спасибо за любую помощь.

1 ответ

Решение

Решение использует (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']);
};
Другие вопросы по тегам