Как получить доступ к пакету другой братской папки. json или организовать папки для стека MERN - PullRequest
1 голос
/ 02 февраля 2020

В настоящее время я новичок в стеке MERN и всей сцене nodejs. Мне просто интересно, как вы можете сослаться на файл пакета. json из одноуровневой директории.

Пока моя организация папок выглядит сейчас

, мой бэкэнд-пакет. json выглядит так:

"name" : "backend",
"main" : "server.js",
"scripts": {
  "start" : "node server.js",
  "backend": "nodemon server.js" ,
  "frontend" : "npm run start --prefix client",
  "dev": "concurrently \"npm run backend\" \"npm run frontend\""
},
...
...
"dependencies": {
  "concurrently": "^5.1.0",
  "cors": "^2.8.5",
  "dotenv": "^8.2.0",
  "express": "^4.17.1",
  "mongoose": "^5.7.8",
  "nodemon": "^2.0.2"
 }
...

Кроме того, мой пакет веб-интерфейса. json выглядит так:

"name": "client",
 ...
 ...
 "dependencies": {
   "bootstrap": "^4.4.1",
   "react": "^16.11.0",
   "react-dom": "^16.11.0",
   "react-scripts": "3.2.0"
  },
"scripts": {
  "start": "react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject"
 },
 ...
 ...

То, что я пытаюсь сделать здесь, это зайдите в папку клиента и запустите пакет. json на этом. Возможно ли это сделать? Или я все об этой идее ошибаюсь? Или это плохой способ организовать мои папки, и я должен сделать это по-другому?

Кроме того, я использовал этот пост:

Как организовать файловую структуру бэкэнда и внешнего интерфейса в MERN

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

1 Ответ

0 голосов
/ 02 февраля 2020

Я построил свою файловую структуру таким же образом, когда меня впервые обучили стеку MERN. Проблема в том, что ваш интерфейс не должен быть отдельным объектом. Похоже, вы используете пакет create-реагировать-приложение, которое запускает сервер для вас, чтобы вы могли сосредоточиться на разработке внешнего интерфейса, но в конце концов вы должны запустить скрипт сборки, и он даст вам c файлы для обслуживания с вашего бэк-энда. Таким образом, вы будете использовать

сервер. js:

app.use(express.static(__dirname + '/build'))

командная строка в папке 'client':

npm build

перетаскивать 'build' прямо в 'cue -card '

...