javascript – 蚂蚁过程中的回声文件名

我目前在ant构建过程中使用YUI压缩器来缩小CSS和 JavaScript文件.虽然它是在缩小每个文件,但我希望它输出当前尝试应用可执行文件文件名称,以便在发生错误时,我知道哪个文件导致了错误.例如:

[echo] Minifying JS files...
[echo] Trying to minify file1.js...
[echo] Trying to minify file2.js....

我看到的每个解决方案似乎只是在将apply指令应用于所有文件后回显文件集中的所有文件名.

我的ant build目前看起来像这样:

<target name="minifyJS" depends="overwriteCSSWithMinified">
    <echo message="minifying js files and saving them to fileName-min.js" />
    <apply executable="java" parallel="false" dest="${toWebHome}">
        <fileset dir="${toWebHome}">
            <exclude name="**/*.min.js" />
            <include name="**/*.js"/>
         </fileset>
         <arg line="-jar"/>
         <arg path="yuicompressor-2.4.7.jar" />
         <arg line="-v"/>
         <srcfile/>
         <arg line="-o"/>
         <mapper type="glob" from="*.js" to="*-min.js"/>
         <targetfile/>
     </apply>
 </target>

也许还有另一种方法,这样做而不是使用文件集,使用一次循环遍历每个文件的指令并对文件执行应用程序?

解决方法

为此,您需要包含 ant-contrib.然后您可以这样做:

<target name="minifyJS" depends="overwriteCSSWithMinified">
    <echo message="minifying js files and saving them to fileName-min.js" />
    <foreach target="yui" param="jsFile">
        <fileset dir="${toWebHome}">
            <exclude name="**/*.min.js" />  
                     <!-- should this be -min.js instead of .min.js ? -->
            <include name="**/*.js"/>
        </fileset>
    </foreach>
</target>

<target name="yui">
    <echo message="${jsFile}"/>
    <exec executable="java">
        <arg value="-jar"/>
        <arg value="yuicompressor-2.4.7.jar"/>
        <arg value="-v"/>
        <arg value="-o"/>
        <arg value="'.js$:-min.js'"/>
        <arg value="${jsFile}" />
    </exec>
</target>

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...