使用grunt闭包编译器生成源映射?

时间:2015-02-04 13:43:56

标签: javascript node.js gruntjs google-closure-compiler

有没有办法使用grunt闭包编译器生成源映射?

我尝试了grunt-closure-compilergrunt-closure-tools,但我似乎无法生成源地图文件。

以下是我的设置:

我在options内外尝试了truepath/to/src.map。我找不到这方面的文件。

    'closure-compiler': {
        lib : {
            closurePath: 'closure-compiler',
            js: 'path/to/src.js',
            jsOutputFile: 'path/to/output.js',
            maxBuffer: 10000,
            // sourceMap: true / 'path/to/src.map'
            options: {
                compilation_level: 'ADVANCED_OPTIMIZATIONS',
                language_in: 'ECMASCRIPT5',
                externs: ['externs/*.js'],
                // sourceMap: true / 'path/to/src.map'
            }
        }
    },

在这里,我遵循了文档但无法使其发挥作用。

    closureCompiler: {
        options: {
            compilerFile: 'closure-compiler/build/compiler.jar',
            create_source_map: 'path/to/src.map',
            compilation_level: 'ADVANCED_OPTIMIZATIONS',
            externs: ['externs/*.js']
        },
        lib : {
            src: 'path/to/src.js',
            dest: 'path/to/output.js'
        }
    }

我错过了什么?

1 个答案:

答案 0 :(得分:2)

对于grunt-closure-compiler,这适用于我的项目:

'closure-compiler': {
  dev: {
    js: ['src/**/*.js'],
    jsOutputFile: 'dist/js/output.js',
    maxBuffer: 500,
    noreport: true,
    options: {
      compilation_level: 'ADVANCED_OPTIMIZATIONS',
      language_in: 'ECMASCRIPT5_STRICT',
      warning_level: 'VERBOSE',
      use_types_for_optimization: undefined,
      output_wrapper: '(function(){%output%\n}).call(window)',
      create_source_map: 'dist/js/output.js.map'
    }
  }
}