Как опубликовать существующее приложение CRA в репозитории npm (любой)? - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть работающее приложение, состоящее из нескольких компонентов, созданных с помощью create-Reaction-app, каждый компонент сам по себе является отдельным приложением, снова созданным с помощью create-реагировать-app.

Все компоненты извлекаются, так что яможет интегрировать его вместе.

Теперь я хочу опубликовать компоненты в репозитории NPM / Private, но согласно руководству по развертыванию CRA, оно не поддерживает публикацию компонентов на основе CRA непосредственно из коробки, оно предлагает использоватьnwb, ​​но я не мог понять, как использовать nwb для публикации «существующих» компонентов.

Я также посмотрел один из средних постов, где предлагается использовать babel-cli для генерации dist /создавать файлы, но это не удается для некоторой конфигурации babel, которая хорошо работает в противном случае (извините, в данный момент у меня нет ссылки, поскольку я отправляю это с мобильного телефона).

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 14 марта 2019

Вы можете сделать это с помощью пакета babel-cli npm, который скомпилирует код вашего реагирующего приложения, а затем вы можете опубликовать его с помощью команды npm publish, подробные шаги следующие:

  • Установите пакет babel-cli в ваше приложение create-реакции-приложение с помощью команды npm install babel-cli.

  • Создайте файл .babelrc и добавьте следующее содержимое, чтобы использовать предустановку реагировать-приложениепредоставлено babel.

{
        "presets": [["react-app"]],
}
  • Добавьте команду distribute в package.json, используя следующий код, эта команда компилирует код из папки src в папку dist,Как правило, я не включаю мои тестовые файлы в опубликованную библиотеку, поэтому аргумент --ignore пропускает тестовые файлы, такие как *spec.js and *test.js, этот аргумент является необязательным, и вы можете удалить --ignore spec.js,test.js, если хотите включить тестовые файлы в опубликованную библиотеку.,Аргумент --source-maps включает исходные карты для включенных исходных файлов:
    "distribute": "set NODE_ENV=production&&babel src --out-dir dist --copy-files --ignore spec.js,test.js --source-maps"
  • Выполните команду npm run distribute, которая сгенерирует файлы в папке dist.
  • Установите private: false в package.json, чтобы сделать доступным для публикации
  • Установите основной файл вашего распределенного пакета, используя следующую команду, в моем случае я непосредственно использую App.js
"main": "dist/App.js"
  • Добавьте следующий код для публикации пакета и предоставьте информацию, связанную с репозиторием
"publishConfig": {
    "registry": ""    
  } 
  • Вы можете использовать команду npm run publish, чтобы распространять исходный код вашего реагирующего приложения в виде библиотеки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...