Не удается добавить модуль узла в проект Angular - PullRequest
0 голосов
/ 24 января 2020

Я совершенно новичок в 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, если это поможет!

...