寻找关于捆绑JS的建议

时间:2012-12-02 00:45:53

标签: asp.net-mvc bundling-and-minification

我有一个MVC 4.5项目,其中大部分UI逻辑都是用jQuery插件组织的。我希望通过缩小和捆绑来保护我的代码(虽然我理解缩小只会做很多保护,但它比在服务器上保留格式化和文档化的源文件更好。)

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

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

感谢您的建议。

1 个答案:

答案 0 :(得分:1)

以为我回答了我最终在这里所做的事情:

回顾一下:我想在缩小时对我的源文件进行模糊处理,同时不在生产中公开源JS文件。我还想让head.js解析源文件URL以捆绑URL:

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

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