无法理解 requireJS require() 函数
Trouble understanding the requireJS require() function
我是 Javascript 的新手,我无法理解以下代码。我读过 post () 这表明 mifosXComponents.js
和 mifosXStyles.js
作为参数传递给函数 function(componentsInit){...}
,但 componentsInit
一个函数 returns 一个 promise?两个.js
个文件怎么转成了一个函数?我很困惑。
require(['mifosXComponents.js', 'mifosXStyles.js'], function (componentsInit) {
componentsInit().then(function(){
require(['test/testInitializer'], function (testMode) {
if (!testMode) {
angular.bootstrap(document, ['MifosX_Application']);
}
});
});
});
如果您需要两个模块(按照示例),那么 RequireJS 将:
- 异步加载它们;
- 加载它们的依赖项;
- 将模块注入回调,每个模块作为单独的参数。
所以你的代码有误,你的回调实际上会收到两个参数,所以你需要有两个参数:
// require two modules async,
// when they are loaded,
// they are injected to your callback
require(['mifosXComponents.js', 'mifosXStyles.js'], function (mifosXComponents, mifosXStyles) {
// now you can use both modules,
// seems that first one is a function which returns promise,
// but I have no idea what is the second one :)
mifosXComponents().then(function(){
require(['test/testInitializer'], function (testMode) {
if (!testMode) {
angular.bootstrap(document, ['MifosX_Application']);
}
});
});
});
我是 Javascript 的新手,我无法理解以下代码。我读过 post (mifosXComponents.js
和 mifosXStyles.js
作为参数传递给函数 function(componentsInit){...}
,但 componentsInit
一个函数 returns 一个 promise?两个.js
个文件怎么转成了一个函数?我很困惑。
require(['mifosXComponents.js', 'mifosXStyles.js'], function (componentsInit) {
componentsInit().then(function(){
require(['test/testInitializer'], function (testMode) {
if (!testMode) {
angular.bootstrap(document, ['MifosX_Application']);
}
});
});
});
如果您需要两个模块(按照示例),那么 RequireJS 将:
- 异步加载它们;
- 加载它们的依赖项;
- 将模块注入回调,每个模块作为单独的参数。
所以你的代码有误,你的回调实际上会收到两个参数,所以你需要有两个参数:
// require two modules async,
// when they are loaded,
// they are injected to your callback
require(['mifosXComponents.js', 'mifosXStyles.js'], function (mifosXComponents, mifosXStyles) {
// now you can use both modules,
// seems that first one is a function which returns promise,
// but I have no idea what is the second one :)
mifosXComponents().then(function(){
require(['test/testInitializer'], function (testMode) {
if (!testMode) {
angular.bootstrap(document, ['MifosX_Application']);
}
});
});
});