webpack,babel:es6导入与Fabric.js所需
我在我的开发工具链中使用webpack和babel;运行以下代码时:webpack,babel:es6导入与Fabric.js所需,webpack,fabricjs,babeljs,Webpack,Fabricjs,Babeljs,我在我的开发工具链中使用webpack和babel;运行以下代码时: import * as fabric from 'fabric'; var canvas = new fabric.Canvas('canvas'); 我得到以下错误: _fabric2.default.Canvas is not a constructor 而如果我使用require('fabric'),同样的代码也可以正常工作而不是 导入 我尝试了调用import的不同方法,但都不起作用 我的linting工具抱怨未
import * as fabric from 'fabric';
var canvas = new fabric.Canvas('canvas');
我得到以下错误:
_fabric2.default.Canvas is not a constructor
而如果我使用require('fabric'),同样的代码也可以正常工作代码>而不是
导入
我尝试了调用import
的不同方法,但都不起作用
我的linting工具抱怨未定义的fabric
变量,因此我希望正确定义它。令人惊讶的是(对我来说),这段代码
也不起作用:
var fabric = require("fabric");
在这种情况下,我得到以下错误:
fabric.Canvas is not a constructor
我做错了什么?查看源代码,您可以通过在窗口对象上设置fabric
使其成为全局的。因此,一旦您需要
或导入
,就可以直接开始使用fabric。如果希望它定义良好,可以从窗口对象获取定义。
var fabric=window['fabric']
您的导入不正确。以下工作很好:
import 'fabric'
let canvas = new fabric.Canvas('c', {
backgroundColor: 'rgb(100,100,200)',
selectionColor: 'blue',
selectionLineWidth: 2
});
在当前使用NPM的fabric
设置中,我使用
从“结构”导入{fabric}
访问结构全局对象。这意味着fabricjs不符合CommonJS或AMD模块约定?请参阅kcjpop的回答,从“结构”导入{fabric}代码>工作正常