我想在 war 文件中用最小化版本(由 Closure Compiler - https://developers.google.com/closure/compiler/docs/gettingstarted_app最小化)替换 js 文件。为了建立战争,我正在使用 ant:
...
<target name="war" depends="buildnumber" description="--> Creates a WAR of a Grails application">
<grails command="war" environment="${grails.env}"/>
</target>
...
我补充说:
grails.project.resources = { stagingDir ->
delete(file:"${stagingDir}/js/*.js")
}
到 <root>\grails-app\conf\BuildConfig.groovy 但 js 文件不会为 war 文件删除。
如何在 ant 构建文件中提供要最小化的文件列表,以及如何将其添加到最终的战争文件中?
更新:
我将以下内容添加到 \grails-app\conf\BuildConfig.groovy 以将最小化文件复制到 war 文件。在第一步中,ant 最小化了 js 文件。下一步生成war文件,这一步用最小化文件替换原始js文件。
grails.war.resources = { stagingDir, args ->
def jsFiles = [
'file1.js',
'file2.js',
'file3.js',
...
'templates.common.js'
];
for (file in jsFiles) {
File f = new File("minimizedjs\\${file}");
if(f.exists()) {
copy(file: "minimizedjs\\${file}", tofile: "${stagingDir}\\js\\${file}")
}
else {
println('.....!');
break;
}
}
}