2

我刚刚开始研究Microsoft Ajax Minifer 4.0以用于我正在处理的 Visual Studio 2008 Web 应用程序。事实证明,将它挂接到 .csproj 文件很容易,因此它为所有脚本生成了 .min.js 文件,但是我对如何将它与 Web 设置项目和源代码控制集成感到困惑。

基本上我想要做的是将生成的 .min.js 文件包含在 Web 设置项目中,而不将它们包含在源代码控制中,因为:

  1. 必须在构建执行之前检查它们是一件痛苦的事情(如果它们没有被检查出来,缩小器就不能修改它们)。
  2. 由于它们是作为“构建工件”创建的,因此将它们存储在源代码控制下似乎是错误的。

到目前为止,我设法遇到的唯一选择是通过右键单击 Web 设置项目并选择“添加 > 文件”,然后拥有相关文件夹,将 .min.js 文件明确包含在设置项目中层次结构在“目标机器上的文件系统”中重复,以便我可以将文件强制到正确的位置。这既不优雅也不简单/健壮,因为:

  1. 它需要我手动将每个缩小的 js 文件手动添加到 Web 设置项目中
  2. 在 Web 应用程序项目和 Web 设置项目中维护相关目录结构的副本
  3. 请记住将任何新的 js 文件缩小版本添加到 Web 设置项目

有没有更好的方法来做到这一点?

4

2 回答 2

1

我最终选择的解决方案是在我的项目中包含 minifier DLL 并创建一个处理程序 (.ashx),我用它替换了对 .js 文件的所有引用,因此:

<script src="MyJsFile.js" type="text/javascript"></script>

被替换为

<script src="Minifier.ashx?file=MyJsFile.js" type="text/javascript"></script>

我的文件中有一个配置设置web.config,允许我确定脚本文件是否被缩小。

于 2010-07-26T12:28:29.060 回答
0

将 Microsoft Ajax Minifier 与源代码管理一起使用

Microsoft Ajax Minifier 生成缩小的 JavaScript 和 CSS 文件作为构建过程的输出。因此,我们建议您以与处理构建过程生成的程序集完全相同的方式处理缩小文件。特别是,我们建议您不要在 Visual Studio 项目中包含缩小文件,并且不要将缩小文件签入源代码管理。

如果您在项目中包含缩小文件,并且使用源代码控制,那么您将遇到问题。当文件从源代码管理中签出时,它们将被签出并设置其只读属性。如果您尝试进行构建,Microsoft Ajax Minifier 将在尝试写入只读文件时生成错误。

来源:微软

据我了解,这意味着不要将 -min 文件添加到项目中,仅此而已。当 IIS 将构建应用程序时,它将自动创建文件。我认为您必须在 Web 服务器上安装 Microsoft Minifier 4.0。

于 2010-03-08T15:00:48.653 回答