如何只为一个RequireJS配置文件使用不同的路径js文件?

时间:2017-06-11 16:21:17

标签: javascript requirejs amd

我正在将RequireJS集成到我的项目中。我的项目结构如下:

$ tree
.
|-- common.js
|-- lib
|   |-- jquery.min.js
|   `-- require.js
`-- view
    |-- a
    |   |-- a.html
    |   |-- a.js
    |   `-- b
    |       |-- b.html
    |       `-- b.js
    |-- c.html   
    `-- c.js

common.js 是我的RequireJS配置文件,内容如下:

requirejs.config({
    baseUrl: '../lib',
    paths: {
        'jquery': 'jquery.min'
    }
});

/ view 中的不同路径中有js文件。

c.js 运行良好如下:

requirejs(['../common'], function (common) {
    requirejs(['jquery'], function($){
    .......
    });
});

但是如何在 a.js b.js 中注入' jquery' 并仍使用 common.js

1 个答案:

答案 0 :(得分:1)

不要忘记更改common.js的路径。它应该是:

requirejs(['../../common'], function (common) { ... });

来自a.js和

requirejs(['../../../common'], function (common) { ... });

来自b.js,因为路径是相对于当前文件的。

或者,使用绝对路径。这样,无论您requirejs来自哪个文件,路径都是相同的。例如,如果common.js位于http://www.example.com/scripts/common.js,请使用

requirejs(['/common'], function (common) { ... });

。 (领先/使其成为绝对路径。)