@angelzzz

Как организовать файловую структуру проекта со стеком MERN?

У меня есть бекенд, основанный на express + mongoose. Его примерная структура:

- /models
-- item.js
- /node.modules
-- ...
- server.js
- package-lock.json
- package.json


И фронтенд на реакте:

- /src
-- /assets
--- index.css
-- /components
--- Somecomponent.js
-- /containers
--- App.js
-- /reducers
--- somereducers.js
- /node.modules
-- ...
-- index.js
-- registerServiceWorker.js
- .gitignore
- package-lock.json
- package.json


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

- /client 
-- /src
...
-- index.js
-- registerServiceWorker.js
- .gitignore
- package-lock.json
- package.json

- /server
- /models
-- item.js
- /node.modules
-- ...
- server.js
- package-lock.json
- package.json


Но на этом я и застрял. Я могу сделать фронтенде папку внутри бекенда, могу сделать наоборот, но:
1. Как запускать проект если фронт и бек находятся на одном уровне вложенности?
2. Каким должен быть package.json и где должны храниться node.modules (или и фронт и бек будут иметь свои package.json и node.modules?)?
  • Вопрос задан
  • 871 просмотр
Пригласить эксперта
Ответы на вопрос 1
theobroma
@theobroma
javascript developer (ReactJS)
Создайте третий package.json в основании проекта. Подробнее тут.
Вот пример содержания package.json
"scripts": {
        "dev": "concurrently \"cd server && npm start\" \"cd client && npm start \"",
        "build": "cd client && npm run build",
        "install": "(cd server && npm install) && (cd client && npm install)",
        "start:prod": "cd server && npm run start:prod",
        "heroku-postbuild": "npm run build"
    },
    "dependencies": {
        "concurrently": "^3.5.1"
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы