簡體   English   中英

如何將 Next.js 正確配置為前端,將 Express 應用程序配置為后端?

[英]How to properly configure Next.js as a frontend and Express app as a backend?

目前我有前端的 create-react-app 和后端的 express 服務器。 在我的 create-react-app 的 package.json 中,我使用這樣的代理"proxy": "http://localhost:5000" 我需要使用相同的快速服務器為 Next.js 應用程序實現相同的功能。

我只是希望能夠使用我的快速服務器而不是 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')
  })
})

之后更改 package.json 文件腳本部分

"scripts": {
    "dev": "node server.js",
    "build": "next build",
    "start": "NODE_ENV=production node server.js",
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM