2

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

4

4 回答 4

3

我不确定 MS Ajax Minifier 的具体情况,但这是我为获得Yahoo!所做的工作。UI 库:用于 .Net工作的 YUI Compressor 。

  1. 为 .NET 下载了 YUI Compressor 程序集
  2. 修改了他们的示例 MSBuild.xml 文件
  3. 修改了我的 nAnt 脚本以运行 MSBuild 任务(更多详细信息:Build and publish .Net 2.0 projects with NAnt and the MSBuild task
于 2009-11-02T18:45:19.833 回答
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 的路径

于 2010-05-14T09:05:41.183 回答
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>
于 2010-05-12T05:03:30.780 回答
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>
于 2010-05-12T05:44:18.937 回答