2

问题


我一直在尝试在我们的 VS2010 (.net 4.) 项目中集成 javascript 和 css 文件的缩小。据我所知,.net 4.5 和 VS2012 将在编辑器中构建缩小版,因此只需设置一个标志就可以了。不幸的是,我们仍然在 VS2010 (.net 4.0) 上。

让我解释一下我想做什么和不想做什么。

我不想为了缩小而对类/配置文件/等进行大型设置,因为所有这些东西都必须加载到我们的构建机器上,甚至可能必须修改构建 xml 文件才能使其工作。此外,一旦我们进入 vs2012 和 .net 4.5,所有这些配置/类/等都必须被丢弃,因为 vs2012 将具有内置功能。

这是我认为可能是最好的选择。由于我使用的是 ScriptManager,它已经可以根据构建类型提取 .debug.js(非缩小)或 .js(缩小)脚本,看来我需要做的就是拥有某种( pre?) build 事件,它将将非缩小的 .js 文件重新构建为缩小的文件。显然,构建事件必须调用一个必须安装在本地计算机上的小型模块(YUI 压缩器看起来非常好)。该模块将更新缩小的 .js 文件。

我一直在读这个,但我有点迷失了。有很多第三方工具带有一堆我不想添加的设置和类。有没有人做了类似我解释的事情?如果不是,下一个最好的简单解决方案是什么?

(顺便说一句,如果你要说迁移到 VS2012/4.5,这不是我们目前的解决方案)

解决方案


感谢Parv Sharma的回答。

我只想解释一下我做了什么,以便将来对某人有所帮助。

  1. 我安装了 Microsoft Ajax Minifier
  2. 创建了一个批处理文件以将 minifer 添加到 ENVIRONMENT PATH 变量: setx path /m "%PATH%;C:\Program Files\Microsoft\Microsoft Ajax Minifier"
  3. 在我的项目中添加了以下预构建事件: ajaxmin $(ProjectDir)Script.js -out $(ProjectDir)Script.min.js -clobber

如果 Script.min.js 不存在,它将由 build 事件创建,但不会添加到项目中(不知道如何通过事件做到这一点)。

添加新脚本文件 mynewscript.js 时,只需创建第二个名为 mynewscript.min.js 的空白文件并为其添加预构建事件。

使用这种方法,您对构建机器唯一要做的就是运行 Microsoft Ajax Minifier 安装包和批处理文件。就是这样,其他所有内容都将成为您的预构建事件的一部分。

4

1 回答 1

2

您正在寻找的可能是这个
http://ajaxmin.codeplex.com/documentation
通过使用它,您可以
在下载工具后使用这个第三方工具作为压缩器,您有 2 个选项
1. 将 MSBUILD 文件编辑为包括根据构建事件构建 js
或 2. 将此工具附加到 VS 并为其分配一个键组合.. 这样您就可以随时缩小,就像我们做 F5 或 Cntrl-Shift-B


附加到 VS 很容易,只需附加到外部工具和工具菜单中,并使用所需参数添加此工具

于 2013-02-08T18:09:54.817 回答