1)我终于设法通过Google Closure Compiler using Ant to automate the process编译了一些东西。我面临的问题是,所提供的所有示例都将输出连接到一个主文件(main example I followed),比如说foo.min.js
。我需要的是将一个和/或多个目录中的所有.js
文件缩小/编译到各自的.min.js
文件中,而不连接输出,所以,让我说,我有3 {{1} }文件,我需要3个缩小.js
输出。
这是我的(第一个)当前.min.js
:
build.xml
2)关注Ant's installation manual后,我添加了此
<?xml version="1.0" encoding="UTF-8"?>
<project name="foobar" basedir="." default="compile">
<property environment="env."/>
<property name="env.CLASSPATH" value=""/>
<fail message="Unset $CLASSPATH / %CLASSPATH% before running Ant!">
<condition>
<not>
<equals arg1="${env.CLASSPATH}" arg2=""/>
</not>
</condition>
</fail>
<taskdef name="jscomp" classname="com.google.javascript.jscomp.ant.CompileTask" classpath="${env.CLOSURE_COMPILER}/compiler.jar" />
<target name="compile">
<jscomp compilationLevel="simple" warning="quiet" debug="false" output="${basedir}/admin/js/foo.min.js">
<sources dir="${basedir}/admin/js">
<file name="home.js" />
<file name="mailing.js" />
<file name="table_modal_events.js" />
</sources>
</jscomp>
</target>
</project>
到我的项目的顶部,并且在以这种方式多次成功构建之后,我注意到如果我删除<property environment="env."/>
<property name="env.CLASSPATH" value=""/>
<fail message="Unset $CLASSPATH / %CLASSPATH% before running Ant!">
<condition>
<not>
<equals arg1="${env.CLASSPATH}" arg2=""/>
</not>
</condition>
</fail>
,我会收到<property environment="env."/>
错误。我可以问为什么? (taskdef class com.google.javascript.jscomp.ant.CompileTask cannot be found
using the classloader AntClassLoader[]
我还添加到%CLOSURE_COMPILER%
} This answer的环境变量可能与此相关吗?但我还是不明白。
3) This是我能找到的最接近的相关问题/答案。但是它使用了一个bash脚本,所以我的问题是:是否有可能使用Ant实现我想要的东西?
如果有人能告诉我我做错了什么,我将不胜感激。