我正在寻找关于在.net MVC应用程序中构建JS代码的一些指导。 我在每个页面的底部都加载了JavaScript,我希望在我的JavaScript中应用名称间距/模块化模式,将其从内联代码中删除以分离JS文件,并根据访问的页面按需加载它们。
当我google时,我倾向于只找到javascript的MVC模式(例如http://addyosmani.com/largescalejavascript/),这很棒,但我很难理解如何将其实现到MVC应用程序中。
欢迎任何建议。
感谢
答案 0 :(得分:2)
我使用的技术类似于Paul Irish所描述的here。然而,为了知道哪些脚本需要加载和初始化,我使用所请求的URL(完整请求和ajax reqs)而不是使用硬编码的id或类名,而不是使用硬编码的id或类名
例如说我有一个客户编辑视图,用于响应对myapp \ customer \ 12 \ edit等网址的请求。我将在我的js中拥有一个具有内部编辑命名空间的客户命名空间。
客户名称空间同样具有init func编辑功能。加载后的所有客户页面将调用customer init事件,然后调用任何操作级别命名空间(如果存在)。这将有一个init func,可以在页面加载时自动调用(我有一些魔法可以解析url,以便我们知道要初始化的js)。因此,解析url将首先调用customer init fund,然后调用customer.edit init func。还有一些常见的init函数可以在每次app广泛的逻辑中被触发(例如,创建一个侧边栏页面小部件)。
我不按需加载js。我发现从延迟的角度来看,结合+缩小所有js文件并在gzip下显然提供它们会更好。