ここで提案されているように、いくつかの追加のデータ属性をレンダリングおよびカプセル化するために、アプリでいくつかのカスタムfabric.js
クラスを使用しています。
node.js
これらによって JSON データが生成されたので、キャンバスをレンダリングし、ファブリックのnpm
パッケージを使用してサーバー上の PNG イメージに書き込みたいと思います。fabric.Rect
これは、やなどの組み込みのファブリック クラスでうまく機能しますfabric.Text
が、私のカスタマイズでは奇妙なエラーが発生し続けます。
基本的に、カスタム ファイルは次のようになります。
fabric.custom.js
// without this node raises "fabric is not defined" error
var fabric = fabric || {};
if (typeof exports !== 'undefined') {
exports.fabric = fabric;
}
// actual implementations
fabric.NamedImage = fabric.util.createClass(fabric.Image, {
type: 'named-image',
// custom overrides
// ...
});
そして、次のようにノードスクリプトにロードされます:
var fabric = require('fabric').fabric;
require('./fabric.custom');
// read JSON and write to PNG ..
実行すると、次の例外が発生します。
/Users/sa125/code/nodetest/fabric.custom.js:13
fabric.NamedImage = fabric.util.createClass(fabric.Image, {
^
TypeError: Cannot call method 'createClass' of undefined
at Object.<anonymous> (/Users/sa125/code/nodetest/fabric.custom.js:13:32)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/Users/sa125/code/nodetest/test.js:4:16)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
クライアント側の fabric.js コードを node.js で再利用するために何か特別なことをする必要がありますか?