將JavaScript添加到頁面的最佳做法是什麼?我應該創建一個文件夾併爲每個頁面添加一個.js文件嗎?然後,我可以在我的視圖頁面的底部添加對JavaScript文件的引用。我應該在頁面底部嵌入JavaScript代碼而不是創建.js文件?這有什麼不同嗎?MVC 4和JavaScript
0
A
回答
1
使用RequireJS for .NET。有一個NuGet軟件包。
關於設置和處理requireJs的信息如下:http://requirejsnet.veritech.io/。
你的JS模塊看起來像
require([
'jquery',
'bootstrap'
], function ($) {
var indexScript = function() {
this.init();
};
indexScript.prototype.init = function() {
//do stuff with bootstrap
};
//create object on DOM ready
$(function() {
var entryPoint = new indexScript();
});
});
您可以配置像這樣的配置JSON文件的依賴性:
{
"paths": {
"jquery": "jquery-1.10.2",
"jquery-validate": "jquery.validate",
"jquery-validate-unobtrusive": "jquery.validate.unobtrusive",
"bootstrap": "bootstrap",
"respond": "respond",
"i18n": "Components/RequireJS/i18n",
"text": "Components/RequireJS/text",
"menu-module" : "Controllers/Common/menu-module"
},
"shim": {
"jquery-validate": {
"deps": [ "jquery" ]
},
"jquery-validate-unobtrusive": {
"deps": [ "jquery", "jquery-validate" ]
},
"bootstrap": {
"deps": ["jquery"]
}
},
"autoBundles": {
"main-app": {
"outputPath": "Scripts/Bundles/",
"include": [
{
"directory": "Controllers/Root"
}
]
},
"require-plugins": {
"outputPath": "Scripts/Bundles/",
"include": [
{
"file": "Components/RequireJS/i18n"
},
{
"file": "Components/RequireJS/text"
}
]
}
}
}
在RequireJS方法。
後續編輯:@Anders RequireJS for .NET支持使用此處定義的YUI壓縮器進行捆綁和縮小:http://requirejsnet.veritech.io/compressor.html和版本化緩存。 (對不起,我無法評論
1
請務必爲javascript創建單獨的.js文件,並且不要直接在視圖中嵌入javascript。這對維護更好。但是,請注意,出於網絡性能的原因,對客戶端必須下載的文件的計數總是會更好(想一想移動用戶!)。所以我建議你使用縮小和捆綁ASP.NET提供的!
1
將大塊JS嵌入到HTML中是不好的,因爲.js,.css和圖像文件不會經常更改,瀏覽器可以緩存這些文件,但通常會自動生成HTML,無法緩存爲此。
1
避免內嵌的JavaScript。我建議使用Bundling and Minification,但你仍然可以有不同的JavaScript文件,如utilities.js,dialogs.js等
相關問題
- 1. Asp.net MVC 4和FormsAuthentication.User
- 2. ASP.NET MVC 4和ContextDependentView
- 3. ASP.NET MVC 4和Ext JS 4 Grid Panel
- 4. ASP.NET MVC 4 - 登錄和
- 5. MVC 4桌面和移動
- 6. MVC 4和捆綁銷售
- 7. MVC 4和JsonResult格式
- 8. ASP.NET MVC 4和AJAX模式
- 9. JavaScript錯誤在Asp.Net MVC 4捆綁
- 10. 用JavaScript清除文本MVC 4
- 11. 瀏覽和設置IMG SRC使用JavaScript/JQuery的在Asp.net MVC 4
- 12. Spring MVC和Prototype JavaScript
- 13. MVC - Ajax.BeginForm routevalues和javascript
- 14. 的JavaScript和PHP MVC
- 15. MVC 4中的UriPathExtensionMapping 4
- 16. Spring 4 MVC Resteasy
- 17. MVC 4 _Layout.cshtml viewmodel
- 18. IClientValidatable與MVC 4
- 19. ASP.NET MVC 4 KNOCKOUT.JS
- 20. MVC 4 ModelBinder
- 21. Pagination-asp.net MVC 4
- 22. ASP.NET MVC 4 + SimpleMembershipProvider
- 23. MVC 4驗證
- 24. MappingJackson2XmlView spring 4 MVC
- 25. asp.net的MVC 2 MVC 4
- 26. MVC MiniProfiler與ASP.NET MVC 4
- 27. 需要WCF和MVC 4設計說明
- 28. ASP.NET MVC 4 SimpleMembership和移動服務
- 29. MVC 4授權和登錄使用
- 30. MVC 1.0,.Net 4.0和Expression Blend 4
恕我直言,這是無論你和作品很容易理解/維護,你可以簡單地將它們包含在視圖中,使它成爲模塊化的(可能使用requireJS/YepNope),或者嘗試從一個文件中壓縮/縮小。AngularJS(據我所知) the approac你在說什麼(好,壞或無動於衷)。 – 2014-09-30 13:08:28
由於可以有很多答案,如何更改爲「*相關注意事項*」? – jozxyqk 2014-09-30 13:36:47
謝謝大家。這真的很有幫助。 – user3802347 2014-09-30 13:40:07