我正在将 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 中注入(inject) '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) { ... });
。 (前导 /
使其成为绝对路径。)
关于javascript - 如何为不同路径的js文件仅使用一个RequireJS配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486047/