我在使用 oCanvas 时遇到了麻烦——它不支持 AMD 开箱即用,所以在 RequireJS 中我定义了一个 shim: configuration.js
require(
function () {
requirejs.config({
shim: {
'lib/ocanvas': {
exports: ['oCanvas']
}
}
});
}
);
我加载 shim 相关配置的方式(我认为将其添加require
到入口点文件就足够了):
require(['configuration','main'],
function (configuration, main) {
main.startUniverse();
}
);
问题是我无法oCanvas
在我的 JS 文件中获取对象:
define(['lib/ocanvas'],
function (oCanvas) {}
它在这里似乎未定义。在oCanvas 来源中,我看到有 2 个自调用函数,它们将oCanvas
对象置于全局状态,如下所示:window.oCanvas = oCanvas
. 也许这对 RequireJS 不起作用?