无法将JavaScript库加载到Meteor应用程序中

时间:2013-07-07 17:10:14

标签: javascript meteor fabricjs

我在使用带有Meteor应用程序的fabric.js库时遇到了麻烦,遗憾的是我无法完全将其添加到我的应用程序中,更不用说调用它了。最简单的娱乐活动如下:

> mrt create test
> cd test
> mkdir client
> curl -o ./client/all.js http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.2.0/fabric.all.min.js
> mrt

转到localhost:3000会显示以下控制台输出:

Uncaught TypeError: Cannot read property 'object' of undefined    all.js:4074
global.fabric.global.fabric                                       all.js:4074
(anonymous function)                                              all.js:4936
(anonymous function)

all.js的第4074行是第二行:

var fabric = global.fabric || (global.fabric = { }),
    extend = fabric.util.object.extend,
    capitalize = fabric.util.string.capitalize,
    clone = fabric.util.object.clone,
    toFixed = fabric.util.toFixed,
    multiplyTransformMatrices = fabric.util.multiplyTransformMatrices;

我很确定我做错了(与织物或流星的问题相反),但我不知道在哪里。我也尝试将all.js文件放入我的公共目录中,虽然它没有抛出相同的TypeError,但它确实使得结构变量似乎在我的任何地方都不可用代码。

将fabric.js正确加载到我的应用程序中的任何帮助都会很棒。

1 个答案:

答案 0 :(得分:9)

请您尝试将库文件放入client / compatibility子目录中。在Meteor中导入的任何javascript文件都包含在闭包中,您无法轻松访问全局范围。客户端/兼容性是不会对库应用闭包的地方。

http://docs.meteor.com/#structuringyourapp您可以在此处找到更多关于导入库问题的内容。