如何根据输入文件名指定输出文件名?
我特意尝试使用grunt任务(grunt-closure-tools
或grunt-closure-compiler
)来编译(缩小)多个javascript文件,让我们说所有令人满意的'/source/**/*.js'
并希望以格式输出它们$(original_file_path_without_extension).min.js
在我看过的所有样本中,输出仅指定为单个文件,但我需要将每个文件分别缩小并放入原始文件来源的同一文件夹中。
答案 0 :(得分:2)
最后,我想出了配置。诀窍是动态构建文件对象(如here所述)。 grunt-closure-tools
的配置如下所示:
closureCompiler: {
options: {
// .. YOUR OPTIONS (ommited)
},
minify: {
files: [
{
expand: true,
src: ['source/**/*.js', '!source/**/*.min.js'],
ext: '.min.js'
}
]
}
}
答案 1 :(得分:0)
Closure-compiler旨在将所有javascript同时编译为单个文件,以最大限度地减少请求。实际上只有两个用例支持单独的输出文件:
为了保留重命名引用,您必须同时编译文件。这样做和维护单独文件的方法是使用模块。见How do I split my javascript into modules using Google's Closure Compiler?
如果您的文件没有相互依赖关系,那么您只需多次运行您的grunt任务 - 每个文件一个。