有没有办法让grunt-closure-compiler在目录中单独对每个文件应用最小化(覆盖原始文件),而不是生成单个文件作为输出。如果我无法覆盖原始文件,我很乐意将输出文件放在单独的输出目录中。
https://github.com/gmarty/grunt-closure-compiler
通常,程序就像生成一个文件一样:
grunt.initConfig({
'closure-compiler': {
frontend: {
closurePath: '/src/to/closure-compiler',
js: 'static/src/frontend.js',
jsOutputFile: 'static/js/frontend.min.js',
maxBuffer: 500,
options: {
compilation_level: 'ADVANCED_OPTIMIZATIONS',
language_in: 'ECMASCRIPT5_STRICT'
}
}
}
});
答案 0 :(得分:0)
您可以使用Closure Compiler的module选项生成多个输出文件。您必须将每个JavaScript文件列为自己的模块,因此如果您有许多JavaScript文件,这可能会非常繁琐。
模块选项没有很好地记录,但请参阅下面的帖子以了解它是如何工作的:
答案 1 :(得分:0)
正如另一个答案所示,您需要模块选项。然而,grunt-closure-compiler实际上并不支持这一点。
有fork of it支持模块。它没有使用标准的grunt文件配置,因此您无法使用通配模式来获取文件夹中的所有文件。通过编写一个grunt任务来创建模块对象并将其传递给闭包编译器任务的配置,我已经解决了这个问题。