Ich benutze webpack und babel in meiner Entwicklungswerkzeugkette; wenn Sie den folgenden Code ausführen:webpack, babel: es6 import versus require for Fabric.js
import * as fabric from 'fabric';
var canvas = new fabric.Canvas('canvas');
bekomme ich folgende Fehlermeldung:
_fabric2.default.Canvas is not a constructor
Während der gleiche Code funktioniert gut, wenn ich require('fabric');
statt import
verwenden.
Ich versuchte verschiedene Möglichkeiten, import
zu nennen, aber keiner von ihnen funktionierte.
Mein Linting-Tool beschwert sich über die undefinierte fabric
Variable, also möchte ich es richtig definiert haben. Überraschenderweise (für mich), dieser Code nicht weder arbeiten:
var fabric = require("fabric");
Ich erhalte den folgenden Fehler in diesem Fall:
fabric.Canvas is not a constructor
Was mache ich falsch?
Also bedeutet es Fabricjs nicht CommonJS oder AMD-Modulkonventionen entsprechen? – mguijarr
Siehe Antwort von kcjpop, 'import {fabric} von 'fabric';' funktioniert einwandfrei – hjing