您好,我正在尝试使用带有 server.js 的 devOps 项目来部署 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、vsts,然后转到 azure。
我使用了 Nodejs 的默认设置,仅在 VSTS 管道中我添加了 npm 脚本“npm run build”。
我在 buld 的代理工作如下:
- -用户 Node 版本
- -Npm 安装应用程序依赖项
- -Npm 自定义(由我添加,运行构建)
- -存档文件
- -公共(public)神器掉落。
发布中:
- Azure 部署:创建 Azure 应用
- 部署 Azure 应用服务
问题是,构建与发布相同成功,但是当我尝试访问该网站时,它会永远加载。我做了研究,但一无所获。
我已经尝试让它工作 3 天了......请帮忙
最佳答案
昨天,我使用 Azure Devops 构建和发布管道成功将 NextJs 应用部署到 Azure 应用服务。
以下是我遇到的三个问题。我还分享了每个问题的解决方案屏幕截图。
Azure 应用服务 Node 版本应与您的 nextjs 兼容。
根目录下缺少 web.config 文件
server.js 中的端口号不正确,package.json 中的脚本标记不正确
我的构建管道看起来和你很相似。 /image/tMQA7.png
关于node.js - 在 Express 包装的 Azure NextJs 应用程序上部署后,应用程序将永久加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53528686/