更改从闭合编译器创建的源映射的格式

时间:2016-01-21 21:44:00

标签: gruntjs google-closure-compiler

我使用以下选项定义了这个闭包编译器任务:

$roleLocalService.getUserRoles($getterUtil.getLong($userId))

创建了源图,它看起来像这样:

'closure-compiler': {
    files: {
    },
    options: {
        externs: [],
        compilation_level: 'ADVANCED_OPTIMIZATIONS',
        language_in: 'ECMASCRIPT5_STRICT',
        create_source_map: '<%= sourceDir %>js/<%= outputName %>.min.js.map',
        output_wrapper: '%output%\n//# sourceMappingURL=<%= sourceMapURL %>js/<%= outputName %>.min.js.map'
    }
}

但是源图不起作用,我需要的是:

{
  "version":3,
  "file":"build/js/game.min.js",
  "lineCount":39,
  "mappings":"AAEA,...",
  "sources":["/src/js/utils.js","/src/js/game/Button.js",...],
  "names":[...]
}

如何在该表单中创建源图?

1 个答案:

答案 0 :(得分:2)

对于Grunt,源映射有许多选项,必须作为单独的构建步骤处理。它缺乏gulp-sourcemaps插件的强大功能,因此每个工具都必须处理生成源图的每个可能的选项,或者必须使用其他工具。

以这种方式对源地图进行后处理并不困难,因为源图是JSON数据。

grunt-sourcemap-localize看起来正是你想要的。