【问题标题】:JavaScript minifier (e.g. YUI) integrated to ASP.NET Webdeploy PublishJavaScript minifier(例如 YUI)集成到 ASP.NET Webdeploy Publish
【发布时间】:2010-10-06 21:23:59
【问题描述】:

我有一个使用 Yahoo YUI 缩小的 javascript 文件。当我“发布”Web 应用程序项目时,我希望它只复制 .min.js 文件而不是原始文件。我可以使用预构建事件来创建缩小版本,但如何防止“发布”复制非缩小文件?

我想我可以从项目中“排除”原始的非缩小文件,但这没有帮助,因为我想通过 VS 2010 编辑脚本文件,但是当我发布时,我希望缩小器先运行,然后再运行只发布那个。

欢迎指点

【问题讨论】:

    标签: javascript asp.net msbuild


    【解决方案1】:

    您可以使用 MSBuild 社区任务项目和 Exec 任务来执行此操作。这是一个例子。

    <?xml version="1.0" encoding="utf-8"?>
    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <yuiCompressor>java -jar Libraries\yuicompressor-2.3.6.jar</yuiCompressor>
      </PropertyGroup>
      <PropertyGroup>
        <Major>1</Major>
        <Minor>0</Minor>
        <Build>0</Build>
        <Revision>1</Revision>
        <BindMinor>0</BindMinor>
        <BindBuild>0</BindBuild>
        <BindRevision>0</BindRevision>
      </PropertyGroup>
      <ItemGroup>
        <CssFiles Include="css\site.css" />
        <CssFiles Include="css\gray.css" />
        <JsFiles Include="scripts\base.js" />
        <JsFiles Include="scripts\lib.js" />
        <JsFiles Include="scripts\project.js" />
      </ItemGroup>
      <Target Name="Minimize" DependsOnTargets="Version">
        <!-- CSS Merge and Minimize -->    
        <Merge Mode="TextLine"
          SourceFiles="@(CssFiles)"
          DestinationFile="merged.css" />
        <Exec Command="$(yuiCompressor) --type css merged.css -o css\project-$(Revision).css" />
        <!-- js Merge and Minimize -->
        <Merge Mode="TextLine"
          SourceFiles="@(JsFiles)"
          DestinationFile="merged.js" />
        <Exec Command="$(yuiCompressor) --type js merged.js -o scripts\project-$(Revision).js" />
        <Delete Files="merged.css" />
        <Delete Files="merged.js" />
      </Target>
    </Project>
    

    【讨论】:

      【解决方案2】:

      如果它是一个 Web 应用程序(而不是一个网站),只需在属性窗口中将 Build Action 更改为 None。这将防止在应用发布时复制原始文件。

      【讨论】:

      • 是的!这正是我想要的。作品。谢谢。
      猜你喜欢
      • 2015-12-13
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 2016-08-16
      相关资源
      最近更新 更多