Я хочу использовать https://github.com/gdsestimating/dxf-парсер в своем проекте. Когда я импортирую, например:
import { DxfParser } from 'dxf-parser';
и чем звонить:
new DxfParser()
я получаю сообщение об ошибке:
TypeError: dxf_parser__WEBPACK_IMPORTED_MODULE_3__ is not a constructor
Как правильно использовать DxfParser в angular? Я хочу сделать то же самое в angular, что и пример jaascript на сайте проектов:
var parser = new DxfParser();
try {
var dxf = parser.parseSync(fileText);
}catch(err) {
return console.error(err.stack);
}
большое спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как и в ридми состояниях github, вы установили DxfParser?
npm install dxf-parser
Вам также может понадобиться установить типы для typescript следующим образом:
npm install @types/dxf-parser
Поскольку установка не кажется проблемой, я попробовал это сам. Выполнение импорта, как вы, не работает. Я просмотрел код, и кажется, что DxfParser является экспортом по умолчанию. Итак, если вы сделаете:
import DxfParser from "dxf-parser";
Это должно работать.
Более подробную информацию об экспорте можно найти здесь
@george я обновил ответ. Вам это помогает?
Я думал, что тоже пробовал это, я начал определять свои собственные типы, и это не сработало, но ваш код работает. Спасибо!
дополнительный вопрос, я иду дальше и хочу использовать three-dxf. Мой оператор импорта: «импортировать ThreeDxf из 'three-dxf'». Когда я вызываю cadCanvas = new ThreeDxf.Viewer(dxf, document.getElementById('cad-view'), 400, 400); я получаю сообщение об ошибке «TypeError: three_dxf__WEBPACK_IMPORTED_MODULE_2___default.a.Viewer не является конструктором» в Javascript, который определяется как: var ThreeDxf; (функция (ThreeDxf) { ThreeDxf.Viewer = функция (данные, родитель, ширина, высота, шрифт) { .........
@george К сожалению, я не смог найти для этого решения. Я предлагаю вам создать новый вопрос на SO, извините:/
я преобразовал его в класс ThreeDxfViewer, похожий на DxfParser, и теперь я могу импортировать его в angular
@george, вы можете поделиться рефакторингом класса, так как я сталкиваюсь с той же проблемой в реакции
у меня его больше нет, и что более важно, я решил это с помощью конфигурации, если я правильно помню, потому что теперь я могу просто сделать import { DxfParser } from 'dxf-parser'; .... const parser = new DxfParser(); const dxf = parser.parseSync(file); .... должны быть некоторые настройки в tsconfig.json или angular.json. Если найду, дам знать
я установил dxf-parser, нет доступных типов: "Не найдено - GET register.npmjs.org/@types%2fdxf-парсер - Не найдено"