requirejs路径如何工作?

时间:2014-03-29 18:45:24

标签: javascript requirejs relative-path

我不明白路径是如何运作的

my package structure

common.js

requirejs.config({baseUrl: '../js/lib',
    paths: {
        jquery: ['//code.jquery.com/jquery-latest.min.js', 'lib/jquery'],
        bootstrap: 'lib/bootstrap.min',
        html5shiv: '//oss.maxcdn.com/libs/html5shiv/3.7.0/htnl5shiv',
        respond: '//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min',
        menu: 'app/smooth-sliding-menu'
    },
    shim: {
        'bootstrap': {deps: ['jquery']}
    }
});

index.js

require(['../common'], function (common) {
    require(['google-map-loader', '//maps.googleapis.com/maps/api/js?key=AIzaSyC6ZePb8iIYGAvbfL8YPflJ-o5LLtdZjGg&sensor=false"'])
});

1)我在Google控制台中没有收到任何错误 2)我不知道发生了什么。 3)我不明白我应该使用哪种类型的路径(相对或绝对)

请给我一些解释我的问题?

1 个答案:

答案 0 :(得分:0)

路径通常是相对的,但是我们发现在工作中太复杂,我们将路径设置为绝对路径。由于我们在服务器端使用MVC/C#,因此只需将requireJS配置数据包含在_Layout.cshtml中即可。

您也可以对配置执行相同的操作。

如果你是严格的Javascript,那么弄清楚你的路径会有点棘手,但是一旦你做到这个原则是相同的。

服务器端代码(为清晰起见进行了修整):

window.requreJsConfig = {
    paths: {
        "data": appRoot + "/Scripts/SharedData",
        "resources": appRoot + "/Scripts/resources"
    },
    shim: {
        bootstrap: {
            deps: ['jquery'],
            exports: "bootstrap"
        }
    }
};