MVC - 是否有一种很好的方法来将控件与各自的javascript捆绑在一起?

Mad*_*d0g 7 javascript asp.net-mvc asp.net-mvc-3

我是MVC的新手,我无法决定存储cshtml文件及其各自的javascript代码的最佳方式.我的项目中的一些JS代码需要全局运行,但大部分都与特定视图或部分视图完全相关.

如果我把javascript放在视图中,我会得到一堆内联不可缓存的javascript,如果我把它放在一个中心文件中,我就失去了模块性.

我听说在MVC4中会有缩小功能,有什么我可以用MVC3做的,它允许我在视图中选择javascripts包含然后将它们分组并自动缩小它们?(甚至可能是小组?)

Pao*_*tti 6

Cassette它与即将推出的MVC4捆绑包基本相同.

在视图页面中,您可以使用Cassette的Bundles帮助程序类引用脚本和样式表.

@{
    Bundles.Reference("Scripts/jquery.js");
    Bundles.Reference("Scripts/page.js");
    Bundles.Reference("Styles/page.css");
}
<!DOCTYPE html>
    <html>
...
Run Code Online (Sandbox Code Playgroud)

此外,Cassette还支持LessCoffeScript.如果您对像Knockout.jsBackbone.js这样的客户端MVC框架感兴趣,它也支持HTML模板.

您仍然需要选择如何对内容进行分组.正如官方文档所暗示的那样,最好的选择可能是将捆绑包视为部署单元.

请记住,捆绑包是一个部署单位.如果捆绑包中的任何资产发生更改,则必须通过Web浏览器再次下载整个捆绑包.因此,可能将共享代码分组到一个包中,并将页面脚本放入自己的包中.