我目前是MERN堆栈和整个nodejs场景的新手。我只是想知道如何从同级目录中引用 package.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"
},
...
...
我在这里要做的是进入客户端文件夹,并在其上运行 package.json。可以这样做吗?还是我把整个想法搞错了?还是组织文件夹的方式不好,我应该以不同的方式进行?
另外,我使用了这篇文章:
如何在MERN中组织后端和前端的文件结构
为此提供了可能的解决方案,但它似乎对我不起作用。
我构建文件结构的方式与我第一次学习 MERN 堆栈时相同。问题是:你的前端不应该是一个单独的实体。您似乎正在使用为您运行服务器的包create-react-app,因此您可以专注于开发前端,但最终您要运行构建脚本,它将为您提供静态文件以从后端提供服务。所以你会使用
服务器.js:
app.use(express.static(__dirname + '/build'))
文件夹"客户端"中的命令行:
npm build
直接在"提示卡"中拖动"构建">