Локальная разработка с несколькими локальными пакетами - PullRequest
2 голосов
/ 02 мая 2019

У меня есть приложение NodeJS и несколько локальных пакетов (некоторые утилиты, которыми я хочу поделиться с другими приложениями браузера), все они написаны на Typescript со следующей структурой:

Пакет A (этоимеет некоторые базовые функции полезности)

  • нет зависимостей

Пакет B (здесь используются функции утилиты для выполнения чего-то большегосложный)

  • пакет A <- со ссылкой на npm </li>

Приложение NodeJS (мне нужно использовать как основные служебные функции, так и сложные)

  • пакет B <- со ссылкой npm </li>
  • пакет A <- со ссылкой npm </li>

Все эти пакеты собраны в свои эквиваленты .jsно я получаю сообщение об ошибке, когда пытаюсь использовать метод из пакета A внутри моего приложения NodeJS.

Например:

Пакет A / Collections.ts:

class Collection{
    count(){ ...code here }
}

Пакет B / ComplexCollections.ts:

import Collection from "project-a/Collection";

class ComplexCollection extends Collection{
}

NodeJS app / index.ts:

import ComplexCollection from "project-B/ComplexCollection";

const collection = new ComplexCollection();
colection.count() // this gives `error TS2339: Property 'count' does not exist on type 'ComplexCollection'`

Кажется, что пакетage B не предоставляет класс A Collection пакета.

Я могу исправить эту ошибку, используя непосредственно файлы .ts, но, насколько я знаю, это не очень хорошая практика согласно этого комментария

Как я могу исправить эту проблему?Или каков хороший рабочий процесс локальной разработки с такой настройкой?

Мой последний план - использовать эти пакеты в веб-приложениях, созданных с помощью Angular, реагировать, VUE или Vanilla JS (через веб-пакет)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...