我正在将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
答案 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) { ... });
。 (领先/
使其成为绝对路径。)