несколько файлов package.json в проекте прореагировать на nodejs - PullRequest
1 голос
/ 23 мая 2019

Я новичок в реагировании и пытаюсь создать проект, использующий реагирование, узел и экспресс.Имея множество проблем с настройкой, реагирую правильно сам, я решил использовать приложение create-реагировать.

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

, поэтому структура проекта будетвыглядит примерно так:

Root
|
------client
|       |
|       -------package.json with front end dependencies
|
package.json with the back end dependencies

Директория клиента - это та, которая создается с помощью "npm init activ-app" и также содержит package.json, в котором есть скрипты реагирования.В настоящее время, если я использую команду «npm run build» в каталоге клиента, она создает сборку без внутренних файлов внутри корневой папки, а если я использую «npm run build» в корневой папке, она не работает, потому что у меня нетСценарии create-реагировать-app в этом package.json.

Мой главный вопрос - как мне сделать сборку моего проекта, если у меня есть два package.jsons, и если это нормальная / лучшая практика, разделить фронт?конец и конец, как это?

Любой совет будет высоко ценится.

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

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

Чтобы построить проект из одной команды, вам нужно установить зависимость concurrently.Это позволит включить несколько команд одновременно.Затем внесите изменения в свой корень package.json.

Ниже приведен пример package.json:

"scripts" : {
     "build-client": "npm run build --prefix <FRONTEND_FOLDER NAME>",
     "build": "<YOUR SERVER BUILD COMMAND>",
     "build-project" : "concurrently \"npm run build\" \"npm run build-client\""
}

Надеюсь, это поможет !!!

0 голосов
/ 23 мая 2019

Я думаю, что вы должны разделить CRA (create-реагировать-приложение) и внутренний сервер (экспресс).Это означает, что вы должны запустить передний и задний порт в другом порту, а затем создать сценарии npm, которые оба запускают передний и задний ход.

Вот так.

ROOT / package.json

"client": "cd client && yarn start",
"server": "nodemon server.js",
"dev": "concurrently --kill-others-on-fail \"yarn server\" \"yarn client\""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...