node.js - 如何在我们的后端同时启动 nodejs 服务器和下一个 js 应用程序?
问题描述
在我们的后端同时使用 npm 包同时启动 nodejs 服务器和下一个 js 应用程序需要帮助。我已经在后端的 package.json 文件中编写了脚本,但它不起作用。
我不知道是否确切知道下一个 js 是否存在并发。以下脚本适用于 React-App 但不适用于 Next JS App
package.json(后端)
{
"name": "backend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node backend/server",
"server": "nodemon backend/server",
"client": "npm start --prefix frontend",
"dev": "concurrently \"npm run server\" \"npm run client\""
},
"author": "",
"license": "ISC",
"dependencies": {
"@sendgrid/mail": "^7.4.0",
"body-parser": "^1.19.0",
"cookie-parser": "^1.4.5",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"express-jwt": "^6.0.0",
"express-validator": "^6.6.1",
"formidable": "^1.2.2",
"jsonwebtoken": "^8.5.1",
"lodash": "^4.17.20",
"mongoose": "^5.10.9",
"morgan": "^1.10.0",
"nodemon": "^2.0.5",
"shortid": "^2.2.15",
"slugify": "^1.4.5",
"string-strip-html": "^6.1.0"
},
"devDependencies": {
"concurrently": "^5.3.0"
}
}
package.json(前端)
{
"name": "frontend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"proxy": "http://127.0.0.1:8000",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "next",
"build": "next build",
"start": "next start"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@zeit/next-css": "^1.0.1",
"aos": "^3.0.0-beta.6",
"isomorphic-fetch": "^3.0.0",
"js-cookie": "^2.2.1",
"jsonwebtoken": "^8.5.1",
"moment": "^2.29.1",
"next": "^9.5.5",
"nprogress": "^0.2.0",
"prop-types": "^15.7.2",
"query-string": "^6.13.6",
"react": "^16.14.0",
"react-bootstrap": "^1.4.0",
"react-dom": "^16.14.0",
"react-modal": "^3.11.2",
"react-quill": "^1.3.5",
"react-render-html": "^0.6.0",
"reactstrap": "^8.6.0"
}
}
解决方案
在后端的 package.json 文件中,您需要替换
"client": "npm start --prefix frontend",
和
"client": "cd ./frontend && npm run dev"
我假设您的 Nextjs 应用程序位于前端文件夹/目录中。相应地更改文件夹。然后你可以从后端目录运行 npm run dev 命令。
现在您将能够同时使用 npm 包同时启动 nodejs 服务器和下一个 js 应用程序
推荐阅读
- java - 在 OWL API 中获取“个人用法”
- javascript - 如何编写以 if 条件作为第一条语句的 Promise 链?
- android - 房间查询返回父类类型的 LiveData
- javascript - 如何调试 nextjs 导出
- graphviz - Graphviz 布局从左到右,然后从上到下
- javascript - Javascript 滚动文本函数 - array.shift() 不是函数
- google-cloud-functions - 如何从 firebase 函数发送图像文件?
- swift - 如果 String 是可选的,如何将 String 转换为 Double?
- excel - Autifil 列基于另一列数据
- java - 当二叉树中的一个节点被触发时,Java 程序查找所有未燃烧的节点