Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
webpack,babel:es6导入与Fabric.js所需_Webpack_Fabricjs_Babeljs - Fatal编程技术网

webpack,babel:es6导入与Fabric.js所需

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工具抱怨未

我在我的开发工具链中使用webpack和babel;运行以下代码时:

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}工作正常