我正在尝试让fabricjs与Typescript和requirejs一起使用。这是我的设置:
我使用npm install @types/fabric@3.6.6 --save-dev
index.html
...
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.3/require.min.js"></script>
<script>
require.config({
paths: {
"fabric": "https://unpkg.com/fabric@3.6.6/dist/fabric.min",
"jquery": "https://code.jquery.com/jquery-3.5.1.min",
},
waitSeconds: 40
});
require(["image.js"]);
</script>
image.ts
import { fabric } from "fabric";
var temp = new fabric.Canvas("#mainDisplay");
编译为 image.js
define(["require", "exports", "fabric"], function (require, exports, fabric_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var temp = new fabric_1.fabric.Canvas("#mainDisplay");
});
但是当我加载页面时。我得到Uncaught TypeError: Cannot read property 'Canvas' of undefined
。当我使用Chrome进行调试时,可以看到已定义fabric_1.Canvas
。
将 image.js 手动更改为fabric_1.Canvas
会导致错误消失。我在这里做什么错了?
我尝试了多种方法来导入import * as fabric from "fabric"
之类的织物,但是没有任何效果。
任何建议都值得赞赏。