向页面添加 JavaScript 的最佳实践是什么?我应该创建一个文件夹并为每个页面添加一个 .js 文件吗?然后,我可以在 View 页面底部添加对 javascript 文件的引用。我应该在页面底部嵌入 javascript 代码而不是创建 .js 文件吗?有什么区别吗?
最佳答案
使用 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和版本化缓存。 (抱歉,我无法发表评论。
关于javascript - MVC 4 和 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26121650/