0

我有一个 MVC 4.5 项目,其中大部分 UI 逻辑都组织在 jQuery 插件中。我想通过缩小和捆绑来保护我的代码(虽然我知道缩小只能起到保护作用,但它比将格式化和记录的源文件留在服务器上要好。)

理想情况下,我希望我的开发服务器按原样工作——文件是非缩小和分离的。但是,当我部署到生产服务器时,我希望删除源文件并且只有缩小的捆绑包可用。另请注意,在许多情况下,我的 jQuery 插件会从 JavaScript 代码加载其他插件(我使用 head.js),因此我不能为此使用 @Script.Render。

我使用什么技术——内置 MVC 捆绑、SquishIt、Bundler 还是我需要求助于 MSBuild 和 Microsoft Axaj Minifier?回顾一下,我想删除源 JS 文件,只留下生产中的缩小包,并且最好找到一种方法,不根据文件是否缩小来更改 head.js 引用。

谢谢你的建议。

4

1 回答 1

1

只是想我会回答我最终在这里所做的事情:

回顾一下:我想通过缩小来混淆我的源文件,而不是在生产中暴露源 JS 文件。我还希望 head.js 将源文件 URL 解析为捆绑 URL:

  • 将所有未缩小的 javascript 文件放在仅对管理员角色可见的文件夹中
  • 使用 ASP.NET MVC 4.5 内置的捆绑来生成捆绑包
  • 将我的 head.js 标记指向一个 MVC 控制器,该控制器返回 head.js 代码 + 一个在原始 URL 和捆绑 URL 之间具有外部引用的 javascript 数组(可从 BundleTable 静态对象获得)

捆绑发生在 ASP.NET 成员资格之外,因此即使源文件位于只能由管理员访问的文件夹中,也会生成捆绑包并可供匿名用户使用。然后,使用服务器端生成的包 URL 动态扩充 head.js 代码的技巧负责从 JS 文件调用包。

于 2012-12-08T19:44:20.717 回答