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

标签 javascript node.js reactjs mern

我目前是 MERN 堆栈和整个 Nodejs 场景的新手。我只是想知道如何从同级目录引用 package.json 文件。

So far, my organization of folders look like this

目前,我的后端 package.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"
 }
...

此外,我的前端 package.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 。可以这样做吗?还是我的整个想法都是错误的?或者这是组织我的文件夹的不好方法,我应该采取不同的方式?

另外,我使用了这篇文章:

How to organise file structure of backend and frontend in MERN

寻找可能的解决方案,但它似乎不适合我。

最佳答案

当我第一次学习 MERN 堆栈时,我以同样的方式构建了我的文件结构。问题是:您的前端不应该是一个单独的实体。您似乎正在使用包 create-react-app ,它为您运行一个服务器,这样您就可以专注于开发前端,但最终您应该运行构建脚本,它将为您提供静态文件以从后端提供服务。所以你会使用

服务器.js:

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

文件夹“client”中的命令行:

npm build

将“build”直接拖到“cue-card”内

关于javascript - 如何访问其他同级文件夹的 package.json 或组织 MERN 堆栈的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60024178/

相关文章:

javascript - AngularJS - 如何根据下拉选项更改键值

javascript - 喝着 Jasmine 来运行我自己的类(class)

javascript - js函数调用返回未定义

javascript - 在 React 中生成搜索建议?

javascript - ACE 文本编辑器显示文本字符代替空格

javascript - 如何将集合转换为数组?

node.js - 在 Express.js 中获取静态页面中的 URL 值

node.js - 如何将文件写入Windows系统文件夹?

javascript - Meteor 中的自动 createdAt 和 updatedAt 字段

javascript - 在 React 中获取调用组件