javascript - MVC 4 和 JavaScript

标签 javascript asp.net asp.net-mvc-4

向页面添加 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/

相关文章:

java - 小程序访问JDialog信息

c# - 如何在 C# 中将鼠标单击事件添加到 Web TextBox

ASP.NET 异步方法问题

c# - C# 代码背后的必填字段验证器

c# - 访问 ApplicationState 变量

javascript - 如何转义 ejs 模板字符串中的 ejs 标签?

javascript - 按 keydown 上的按钮? (jQuery)

javascript - OneDrive Saver Api(多个文件上传)

asp.net-mvc - Ninject 与 HttpContext.Current 上的 MVC4 条件绑定(bind)

javascript - 从私有(private)内部函数更新变量值