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 行目は 2 行目です。

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

ライブラリ ファイルを client/compatibility サブディレクトリに配置してみてください。Meteor にインポートされたすべての JavaScript ファイルは、グローバル スコープに簡単にアクセスできないクロージャでラップされます。client/compatibility は、ライブラリにクロージャーが適用されない場所です。

http://docs.meteor.com/#structuringyourappライブラリのインポートの問題について詳しくは、こちらをご覧ください。

于 2013-07-07T17:17:10.933 に答える