Microsoft Ajax Minifier和NAnt

时间:2009-11-02 09:26:18

标签: javascript continuous-integration nant nant-task

有人可以向我解释如何使用nant-script中的Microsoft Ajax Minifier作为nant-task。我已经看到了如何在Visual Studio中使用它的示例,但我希望在我们的CI服务器上完成缩小。

4 个答案:

答案 0 :(得分:3)

我不确定MS Ajax Minifier的具体内容,但这是我为使Yahoo! UI Library: YUI Compressor for .Net工作所做的工作。

  1. 下载YUI Compressor .NET的程序集
  2. 修改了他们的Sample MSBuild.xml File
  3. 修改了我的nAnt脚本以运行MSBuild任务(更多详细信息:Build and publish .Net 2.0 projects with NAnt and the MSBuild task

答案 1 :(得分:1)

这是我使用的代码,它使用ajaxminifier缩小文件夹中的所有* .js和* .css

<foreach item="File" property="filename">
    <in>
        <items>
            <include name="${deployment.dir}\js\*.js"></include>        
            <include name="${deployment.dir}\css\*.css"></include>
        </items>
    </in>
    <do>
        <echo message="Minifying ${filename} and overwritting file"/>
        <exec program="${ajaxminifier.exe}"
            workingdir="."
            failonerror="true"
            commandline='-clobber:true ${filename} -o ${filename}'/>
    </do>
    </foreach>

请注意,此脚本会使用缩小版本覆盖文件(使用-clobber:true arg)。 $ {ajaxminifier.exe}是ajaxmin.exe的路径

答案 2 :(得分:0)

<foreach item="File" property="Debugfile" >
    <in>        
        <items>
            <include name="**\*.debug.js"/>
        </items>
    </in>
    <do failonerror="false">
        <regex pattern="^(?'filename'.*)\.(?'extension2'\w+)\.(?'extension3'\w+)$" input="${Debugfile}" />
        <regex pattern="^(?'path'.*(\\|/)|(/|\\))(?'file'.*)$" input="${Debugfile}" />
        <echo message="renaming with filename=${path},file=${file}"/>
        <exec program="${Minifie.lib}\ajaxmin.exe" commandline="${filename}.debug.js -o ${filename}.js" failonerror="true"/>
    </do>
</foreach>

答案 3 :(得分:0)

    description="AjaxminFilesCreation.">
    <foreach item="File" property="Debugfile" >
        <in>        
            <items>
            <include name="**\*.debug.js"/>
        </items>
        </in>
        <do failonerror="false">

        <regex pattern="^(?'filename'.*)\.(?'extension2'\w+)\.(?'extension3'\w+)$" input="${Debugfile}" />
        <regex pattern="^(?'path'.*(\\|/)|(/|\\))(?'file'.*)$" input="${Debugfile}" />
        <echo message="renaming with filename=${path},file=${file}"/>
    <exec program="${Minifie.lib}\ajaxmin.exe" commandline="${filename}.debug.js -o ${filename}.js" failonerror="true"/>
        </do>
    </foreach>
</target>