我注意到 RequireJS 尝试将简单的模块值直接分配给变量的奇怪行为,如下所示:
App.tables = require(['appTables']);
这个调用的结果是 App.tables 包含这个函数:
localRequire(deps, callback, errback)
而我的 appTables.js 看起来像这样:
define({
users: {
name: 'tables.users',
data: {
name: {
visible: true,
hide: false,
display: 'Name'
},
surname: {
visible: true,
hide: false,
display: 'Surname'
}
}
}
});
确实尝试以经典方式分配它是有效的:
require(['appTables'], function(appTables) {
App.tables = appTables;
});
那么我的第一种方法有什么问题?为什么它返回一个函数而不是对象?谢谢!