Я использую Angular 8 (запустил проект в Visual Studio 2019) и имею файл fabric.init.ts
со следующим содержимым:
import 'fabric';
import * as fabric from 'fabric/fabric-impl';
// (TS) Property 'DPI' does not exist on type 'typeof import(..@types/fabric/fabric-impl)'
fabric.DPI = 213;
....
Далее все в порядке, потому что он соответствует d.ts определение:
// Override fabric to meet ourrequirements
fabric.util.object.extend(fabric.Object.prototype, {
centeredRotation: true,
Как игнорировать ошибку DPI
TS2339. Было бы здорово иметь автозаполнение, особенно для изучения fabri c.
My package. json:
"private": true,
"dependencies": {
"@angular/core": "8.2.14",
....
"@angular/router": "8.2.14",
"@types/fabric": "3.5.1",
"fabric": "3.5.1",
...
},
EDIT
Пока я решил эту проблему, добавив следующую строку:
// @ts-ignore
fabric.DPI = 213;
Я знаю, что это не лучшее решение, я предпочитаю решение @ wentjun.
Изменяя это: import * as fabric from 'fabric/fabric-impl';
to import { fabric } from 'fabric';
Теперь у меня также включена функция VisualStudio intellisense. Конечно, я добавил @ types / fabri cjs в пакет. json.