Javascript RequireJS+;具有自调用函数的oCanvas
我在使用oCanvas时遇到问题-它不支持AMD开箱即用,因此在RequireJS中我定义了一个垫片: configuration.jsJavascript RequireJS+;具有自调用函数的oCanvas,javascript,requirejs,amd,Javascript,Requirejs,Amd,我在使用oCanvas时遇到问题-它不支持AMD开箱即用,因此在RequireJS中我定义了一个垫片: configuration.js require( function () { requirejs.config({ shim: { 'lib/ocanvas': { exports: ['oCanvas'] } }
require(
function () {
requirejs.config({
shim: {
'lib/ocanvas': {
exports: ['oCanvas']
}
}
});
}
);
加载垫片相关配置的方式(我认为将其添加到require
入口点文件就足够了):
问题是我无法在JS文件中获取oCanvas
对象:
define(['lib/ocanvas'],
function (oCanvas) {}
这里似乎没有定义。在中,我看到有两个自调用函数,它们将oCanvas
对象置于全局状态,如下所示:window.oCanvas=oCanvas
。也许这对RequireJS不起作用
require(
function () {
requirejs.config({
shim: {
'lib/ocanvas': {
exports: 'oCanvas'
}
}
});
}
);
尝试将其作为字符串而不是数组传递?而不是
requirejs.config
我现在使用require.config
并在那里传递一个对象:
require.config({
shim: {
'lib/ocanvas': {
exports: 'oCanvas'
}
}
});
这对我很管用。我以为您将不符合AMD的脚本中使用的全局变量作为字符串传递给exports,而不是数组(如在deps中),我看到了带有数组的示例。此外,返回字符串并不能改变这种情况。遗憾的是,这没有帮助。事实上,我在某处看到过带有数组的示例。很难想象这些示例会起作用;文档明确指出,
exports
属性的值是一个字符串(无论如何,如何解释多个导出?别名?)有什么区别?对不起,require.config()和requirejs.config()之间有什么区别?
require.config({
shim: {
'lib/ocanvas': {
exports: 'oCanvas'
}
}
});