Создание приложения для реагирования, проблема зависимости рабочих пространств пряжи

Я создаю многомодульный проект с рабочими областями create-react-app, typescript и yarn.

структура:

package.json
packages
  - create-react-app-project
  - other-lib-project
    - tsconfig.json
    - package.json
    - src/
    - dist/

проект lib строится нормально, но когда я его запускаю, я получаю следующую ошибку:

Unhandled Rejection (TypeError): Cannot read property 'random' of undefined

Где случайность - свойство фейкера. В скомпилированном выводе оператор импорта для faker отображается как:

var faker_1 = require("faker");

Я думал, что когда webpack скомпилировал проект приложения create response, он объединит зависимости моей библиотеки, но, похоже, это не так.

как мне связать свою библиотеку, чтобы ее зависимости были доступны во время выполнения в браузере?


person jclyons52    schedule 11.05.2018    source источник


Ответы (1)


Решение, которое я выбрал, - добавить проект библиотеки в пути в моих основных проектах tsconfig.json. например.

{
  "compilerOptions": {
    "paths": {
      "@my-namespace/main-project": ["./src"],
      "@my-namespace/lib-project": ["../lib-project"]
    }
}

Он использует скомпилированные ресурсы библиотеки из папки сборки, но по-прежнему объединяет необходимые модули в основную сборку /

person jclyons52    schedule 13.05.2018