Я совершенно новичок в Angular и TypeScript, и я пытаюсь импортировать модуль узла ( ewelink-api ) в мой Angular проект (мой самый первый), но я не могу понять, как это сделать правильно.
Я уже установил пакет через npm, но звоню
import * as eWeLink from 'ewelink-api'
или
let eWeLink = require('ewelink-api')
как предлагают некоторые люди, не работает вообще. Когда я пытаюсь console.log()
значение класса eWeLink
(или создание его нового экземпляра), компилятор выдает кучу ошибок, подобных этим:
Module not found: Error: Can't resolve './data/devices-channel-length' in '/Users/user/Desktop/Project/node_modules/ewelink-api/lib'
Module not found: Error: Can't resolve 'fs' in '/Users/user/Desktop/Project/node_modules/ewelink-api/mixins/devices'
, как если бы он не мог ' • найти некоторые файлы и модули в вызовах require()
внутри пакета. Я обнаружил, что указание расширения файла в первом случае решает проблему, но существует так много ошибок, которые невозможно «исправить» для всего пакета ewelink-api .
I Я подумал, что проблема может быть связана с набором текста (нужно было провести некоторое исследование, чтобы понять, как это работает), и я обнаружил, что пакет, который я пытаюсь добавить, уже имеет файл объявлений ( index.d.ts). ), но я не могу понять, как заставить TypeScript использовать этот файл (возможно, с директивой <reference>
), поскольку он может не распознавать его, и это может быть проблемой, с которой я сталкиваюсь.
Я также пытался сделать:
npm install --save @types/ewelink-api
, и это не сработало, но у меня есть каталог @types
внутри node_modules
, если это поможет!