5

我在使用带有 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正确加载到我的应用程序中的任何帮助都会很棒。

4

1 回答 1

9

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

http://docs.meteor.com/#structuringyourapp你可以在这里找到更多关于导入库问题的讨论。

于 2013-07-07T17:17:10.933 回答