Mim*_*oid 9 node.js express reactjs next.js
目前我有用于前端的 create-react-app 和用于后端的 Express 服务器。在我的 create-react-app 的 package.json 中,我使用像这样的代理"proxy": "http://localhost:5000"。我需要使用相同的 Express 服务器为 Next.js 应用程序实现相同的目标。
我只是希望能够使用我的 Express 服务器而不是 Next.js 中内置的 API 路由,并像在 create-react-app 中那样代理它。
即使我没有更改它的任何功能,我是否需要创建自定义 Next.js 服务器?如何正确地做到这一点?
是的,你必须在下一个js中添加自定义服务器
安装express js,然后在下一个js项目的根目录中添加文件server.js
const express = require('express')
const next = require('next')
const bodyParser = require('body-parser')
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()
app.prepare().then(() => {
const server = express()
server.use(bodyParser.json())
// add custom path here
// server.post('/request/custom', custom);
server.get('*', (req, res) => {
return handle(req, res)
})
server.listen(3000, (err) => {
if (err) throw err
console.log('Ready on http://localhost:5000')
})
})
Run Code Online (Sandbox Code Playgroud)
之后更改 package.json 文件脚本部分
"scripts": {
"dev": "node server.js",
"build": "next build",
"start": "NODE_ENV=production node server.js",
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9542 次 |
| 最近记录: |