在Express中包装的Azure NextJs应用程序上部署后,应用程序将永远加载

时间:2018-11-28 21:52:38

标签: node.js azure azure-devops next.js

嗨,我正在尝试使用devOps项目和server.js来部署nextjs应用,如下所示:

const express = require('express')
const next = require('next')
    
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()
    
app.prepare()
.then(() => {
  var port = process.env.port || 3001
  const server = express()
    
  server.get('*', (req, res) => {
    return handle(req, res)
  })
    
  server.listen(port, (err) => {
    if (err) throw err
    console.log('> Ready on http://localhost:433')
  })
})
.catch((ex) => {
  console.error(ex.stack)
  process.exit(1)
})

对于devOPs项目,我设置了github,vtss,然后变成了天蓝色。

我为nodejs使用了默认设置,只是我在VSTS管道中做了额外的工作,我添加了npm脚本“ npm run build”。

我在代理商中的工作看起来像这样:

  • -用户节点版本
  • -Npm安装应用程序依赖项
  • -Npm自定义(由我添加,运行构建)
  • 存档文件
  • -公共神器掉落。

发布中:

  • Azure部署:创建Azure应用
  • 部署Azure应用服务

问题在于Build与发布成功相同,但是当我尝试访问该网站时,它将永远加载。我做了研究,但一无所获。

我已经尝试使其工作3天了……请帮助

1 个答案:

答案 0 :(得分:0)

昨天,我使用Azure Devops构建和发布管道成功地将NextJs App部署到Azure App服务。

以下是我面临的三个问题。我还将分享每个问题的解决方案屏幕截图。

  1. Azure App服务节点版本应与您的nextjs兼容。

    https://i.imgur.com/UPDc9GE.png

  2. 根目录下缺少web.config文件

    https://i.imgur.com/EZRTT4P.png

  3. server.js中的端口号不正确,package.json中的脚本标记不正确

    https://i.imgur.com/PJadc7b.png

我的构建管道看起来像您一样。 https://i.imgur.com/0Y8m2wH.png