如何访问其他同级文件夹的 package.json 或为 MERN 堆栈组织文件夹



我目前是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

直接在"提示卡"中拖动"构建">

最新更新