使用自定义服务器部署应用程序

我们刚刚部署的应用程序不使用自定义服务器代码。 但是如果我们这样做,我们如何才能部署呢?

所以,检查以下分支:

  1. git checkout .
  2. git checkout clean-urls-ssr

因此,我们使用自定义服务器来运行我们的应用程序。

构建应用程序

即使这样,您可以使用下一个构建来构建您的应用程序。 所以添加以下npm脚本:

  1. "scripts": {
  2. "build": "next build"
  3. }

Start the app

我们需要创建我们的自定义服务器代码来提及这是一个生产应用程序。 为此,请看我们的server.js中的这段代码

  1. const express = require('express')
  2. const next = require('next')
  3. const dev = process.env.NODE_ENV !== 'production'
  4. const app = next({ dev })
  5. const handle = app.getRequestHandler()
  6. app.prepare()
  7. .then(() => {
  8. const server = express()
  9. server.get('/p/:id', (req, res) => {
  10. const actualPage = '/post'
  11. const queryParams = { title: req.params.id }
  12. app.render(req, res, actualPage, queryParams)
  13. })
  14. server.get('*', (req, res) => {
  15. return handle(req, res)
  16. })
  17. server.listen(3000, (err) => {
  18. if (err) throw err
  19. console.log('> Ready on http://localhost:3000')
  20. })
  21. })
  22. .catch((ex) => {
  23. console.error(ex.stack)
  24. process.exit(1)
  25. })

看下面的一行:

  1. const dev = process.env.NODE_ENV !== 'production'

所以,我们可以像这样开始我们的应用程序:

  1. NODE_ENV=production node server.js

所以,我们的“npm开始”脚本将是这样的:

  1. "scripts": {
  2. "start": "NODE_ENV=production node server.js"
  3. }

这就是你所要做的一切。