Лерна. js Настройка в NodeJS - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь настроить свой проект на основе MonoRepo, для которого я использовал lerna. js сейчас, насколько я знаю lerna. js работает следующим образом.

Для Dev

  1. Создайте lerna. json и обновите все пакеты и детали рабочего пространства до пакета. json и lerna. json
  2. Запустите пряжу или npm клиента как обычно, как вы делаете.
  3. любая папка внутри пакетов / будет обрабатываться как node_module, так что вы можете напрямую вызывать их.

Теперь мое приложение работает как dev и работает нормально, но когда собирать или переносить мой код es6 с помощью Babel для производства, чем lerna. json не работает правильно следующие проблемы, которые меня смущают о том, как его использовать.

  1. Должен ли я опубликовать sh все мои пакеты на npm для использования их в производстве?
  2. запуск lerna Bootstrap связывает пакеты, но когда я просматриваю свой пакет внутри node_modules, он все еще содержит код es6 .. из-за этого приложения узла выдает ошибку для использования оператора import, который узел не отменил erstand, если вы не используете экспериментальный флаг.

Ниже приведен пример:

  1. lerna. json
{
  "packages": [
    "packages/*"
  ],
  "version": "independent",
  "npmClient": "yarn",
  "useWorkspaces": true
}

Каталог пакетов
packages/
  context/
  dyna_modules/
  www/
npm scripts
    "clean": "lerna clean --yes && rimraf node_modules && rm -rf package-lock.json yarn.lock",
    "build::js": "babel ./packages --out-dir ./build/packages/ --ignore node_modules",
    "build::nonjs": "babel package.json prisma.yml Dockerfile docker-compose.yml .env --out-dir ./build --copy-files && babel ./packages/routes --out-dir ./build/packages/routes --copy-files",
    "build": "rm -rf ./build && mkdir ./build && npm run build::js && npm run build::nonjs",
    "dev:nodemon": "DEBUG=*,-babel,-babel:*,-express:*,-nodemon:*,-nodemon,-snapdragon:*,-finalhandler,-follow-redirects nodemon -L --exec babel-node --inspect index.js",
    "dev": "yarn dev:nodemon --ignore-engines",
    "prestart": "npm run build && lerna bootstrap",
    "start": "cd ./build && node ./packages/www/index.js",

Проблема

Запуск запуска пряжи всегда завершается ошибкой при использовании оператора Import. Во время проверки я обнаружил, что все мои packages/modules внутри node_module содержат синтаксис es6 вместо транслированного кода.

...