【问题标题】:VS2010 Automatically rebuild minified .js/.css filesVS2010 自动重建缩小的 .js/.css 文件
【发布时间】:2013-01-24 13:52:54
【问题描述】:

问题


我一直在尝试在我们的 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 安装包和批处理文件。就是这样,其他所有内容都将成为您的预构建事件的一部分。

【问题讨论】:

标签: asp.net visual-studio-2010 minify scriptmanager


【解决方案1】:

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


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

【讨论】:

  • 这看起来可能正是我所需要的。我想我所要做的就是安装它。将 Pre-build 事件添加到 VS 项目以运行此工具,就是这样。我将在午餐后尝试并回复并将答案标记为已接受。谢谢
猜你喜欢
  • 1970-01-01
  • 2011-03-04
  • 2016-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-01
  • 2013-06-28
  • 2012-03-06
相关资源
最近更新 更多