我在一个项目中使用 requirejs,我有 2 个模块:
- a.js:是一个非 AMD 模块,我无法触摸它的代码
- b.js:是我用
define()
函数编写的 AMD 模块。它需要a.js
工作。 - app.js:是同时使用
a.js
和的实际应用程序代码b.js
。
app.js 看起来像这样:
//source code for app.js
require(['a.js', 'b.js'],
function( a, b ) {
a.x = 2;//this will fail because 'a' is not defined
});
现在的问题是:require()
两个模块的最简单方法是什么app.js
?我不能这样做:
//source code for app.js
require(['b.js', 'a.js'],
function( b ) {
a.x = 2;//it works because module 'a' defines a global variable named 'a'
b.x = 2;//this will fail because module 'b' is loaded before 'a' so it doesn't work
});