在我的 MVC 项目中,我同时使用 Web Optimizer 和Cassette。我选择Cassette的主要原因是它能够从局部视图或子操作(或从任何地方)“注入”javascript 和 css 到 html 标题/底部正文部分。我仍然使用 Web Optimizer 的原因是因为它可以为同一目录中的文件提供不同的包(相比之下,Cassette 默认每个文件夹一个包,这有时不起作用,例如,许多不同的主题只在一个文件夹中,因为它们分享文件)。
在我的项目中,我在不同的地方使用了很多第三方 jQuery 插件。我将它们捆绑在一起,然后在不同的页面中使用 Bundles.Reference() 在需要时添加到页面。例如,在一个页面中,我可以使用 5 个插件,而另一个页面可以使用 6 个插件。
Bundles.Reference("content/plugins/plug1.js", "body");
Bundles.Reference("content/plugins/plug2.js", "body");
Bundles.Reference("content/plugins/plug3.js", "body");
当页面被渲染时,Cassette 将为每个引用生成一个标签。
我们使用 bundle 的主要原因是尽可能减少对服务器的请求。但是在这种情况下,Cassette 并没有减少对 javascript 的请求。就像我为每个插件添加标签一样(但我不能从部分视图/子操作注入到标题/正文底部)。
所以我的问题来了:Cassette 是否有可能将我在不同页面中使用的不同参考“捆绑”到一个标签中?
提前谢谢了!