问题:
我一直在尝试在我们的 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的回答。
我只想解释一下我做了什么,以便将来对某人有所帮助。
- 我安装了 Microsoft Ajax Minifier
- 创建了一个批处理文件以将 minifer 添加到 ENVIRONMENT PATH 变量: setx path /m "%PATH%;C:\Program Files\Microsoft\Microsoft Ajax Minifier"
- 在我的项目中添加了以下预构建事件: ajaxmin $(ProjectDir)Script.js -out $(ProjectDir)Script.min.js -clobber
如果 Script.min.js 不存在,它将由 build 事件创建,但不会添加到项目中(不知道如何通过事件做到这一点)。
添加新脚本文件 mynewscript.js 时,只需创建第二个名为 mynewscript.min.js 的空白文件并为其添加预构建事件。
使用这种方法,您对构建机器唯一要做的就是运行 Microsoft Ajax Minifier 安装包和批处理文件。就是这样,其他所有内容都将成为您的预构建事件的一部分。