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

How to use only one RequireJS config file for different path js file?

我正在将 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[=41中注入'jquery' =] 并且仍然使用 common.js?

不要忘记将路径更改为 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) { ... });

。 (前导 / 使其成为绝对路径。)