RequireJS 不加载 createjs
RequireJS not loading createjs
我严格按照 requirejs 和 preloadjs 文档进行操作,但无法通过 requirejs 获取对 createjs 的引用。这是我的配置:
requirejs.config({
baseUrl: "script/module",
paths: {
createjs: "/bower_components/PreloadJS/lib/preloadjs-0.6.1.min"
},
shim:{
"createjs": {
exports: "createjs"
}
}
});
然后在我的 mainjs 中:
define(
["createjs"],
function (createjs) {
//At this point all controllers are loaded and ready to go
console.log(createjs);
return {};
}
);
...但是 creatjs 在记录时输出这个对象:
{
noConflict: ()
parse: parse()
runInContext: a(b,d)
stringify: stringify()
__proto__: Object
}
我错过了什么?或者这是一个错误?我需要 2.1.2 和 preloadjs 0.6.1。这非常令人沮丧,因为我使用了所有形式的垫片、重命名,甚至删除了 baseUrl。我已经多次从头开始。
此外,我尝试将所有对 "createjs" 的引用替换为 "preloadjs"。问题是全局对象 "createjs" 是全局命名空间中可用的对象(正如您所期望的那样,我可以从 requirejs 中访问它)。
我已在 github 此处将其作为 preloadjs 问题打开,但目前尚未收到任何回复。
https://github.com/CreateJS/PreloadJS/issues/171
感谢您的帮助!
您可以使用编译(缩小)的 createjs 代码并在最后添加以下内容,使整个库成为一个 AMD 模块。
if (typeof define === "function" && define.amd) {
define(function() {
return window.createjs;
});
}
特别是在 preloadjs 的情况下,只是 return PreloadJS 变量引用而不是 createjs。
if (typeof define === "function" && define.amd) {
define(function() {
return window.createjs.PreloadJS;
});
}
当然,这仍然会在全局命名空间中留下 createjs。
我严格按照 requirejs 和 preloadjs 文档进行操作,但无法通过 requirejs 获取对 createjs 的引用。这是我的配置:
requirejs.config({
baseUrl: "script/module",
paths: {
createjs: "/bower_components/PreloadJS/lib/preloadjs-0.6.1.min"
},
shim:{
"createjs": {
exports: "createjs"
}
}
});
然后在我的 mainjs 中:
define(
["createjs"],
function (createjs) {
//At this point all controllers are loaded and ready to go
console.log(createjs);
return {};
}
);
...但是 creatjs 在记录时输出这个对象:
{
noConflict: ()
parse: parse()
runInContext: a(b,d)
stringify: stringify()
__proto__: Object
}
我错过了什么?或者这是一个错误?我需要 2.1.2 和 preloadjs 0.6.1。这非常令人沮丧,因为我使用了所有形式的垫片、重命名,甚至删除了 baseUrl。我已经多次从头开始。
此外,我尝试将所有对 "createjs" 的引用替换为 "preloadjs"。问题是全局对象 "createjs" 是全局命名空间中可用的对象(正如您所期望的那样,我可以从 requirejs 中访问它)。
我已在 github 此处将其作为 preloadjs 问题打开,但目前尚未收到任何回复。 https://github.com/CreateJS/PreloadJS/issues/171
感谢您的帮助!
您可以使用编译(缩小)的 createjs 代码并在最后添加以下内容,使整个库成为一个 AMD 模块。
if (typeof define === "function" && define.amd) {
define(function() {
return window.createjs;
});
}
特别是在 preloadjs 的情况下,只是 return PreloadJS 变量引用而不是 createjs。
if (typeof define === "function" && define.amd) {
define(function() {
return window.createjs.PreloadJS;
});
}
当然,这仍然会在全局命名空间中留下 createjs。