我使用oCanvas时遇到麻烦 - 它不支持AMD开箱即用,所以在RequireJS中我定义了一个垫片: 的 configuration.js
require(
function () {
requirejs.config({
shim: {
'lib/ocanvas': {
exports: ['oCanvas']
}
}
});
}
);
我加载与shim相关的配置的方式(我认为将其添加到require
到入口点文件就足够了):
require(['configuration','main'],
function (configuration, main) {
main.startUniverse();
}
);
问题是我无法在JS文件中获取oCanvas
对象:
define(['lib/ocanvas'],
function (oCanvas) {}
这里似乎未定义。在oCanvas sources中,我看到有2个自调用函数,它们将oCanvas
对象置于全局状态:window.oCanvas = oCanvas
。也许这对RequireJS不起作用?
答案 0 :(得分:1)
require(
function () {
requirejs.config({
shim: {
'lib/ocanvas': {
exports: 'oCanvas'
}
}
});
}
);
尝试将其作为字符串而不是数组传递?
答案 1 :(得分:0)
而不是requirejs.config
我现在使用require.config
并在那里传递一个对象:
require.config({
shim: {
'lib/ocanvas': {
exports: 'oCanvas'
}
}
});
这对我有用。