Issue 运行 Next.js on iisnode on Azure Web App

Issue running Next.js on iisnode on Azure Web App

正在尝试在 Azure Web App 上部署和 运行 Next.js。 Azure Web App 在 运行ning 仅与 Express.js 一起工作时工作,但一旦我调用 nex() 它就会失败。尝试在 Azure 门户中启用错误日志记录,但没有太多用处,只有一般的 500 错误。

以下是有效的和无效的。

作品:

var express = require('express');
var expressServer = express();

expressServer.get('/', function (req, res) {
    res.send('Express is working on IISNode!');
});

expressServer.listen(process.env.PORT || 8080);

无效:

var express = require('express');
const next = require('next');
var expressServer = express();
var app = next();

expressServer.get('/', function (req, res) {
    res.send('Express is working on IISNode!');
});

expressServer.listen(process.env.PORT || 8080);

此时我什至懒得获取请求处理程序,因为 app = next() 失败了。

Package.json:

"engines": {
    "node": "9.4.0 || 8.9.x"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.16.2",   
    "next": "^4.2.3",
    "next-redux-wrapper": "^1.3.5",
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "react-redux": "^5.0.6",
    "redux": "^3.7.2",
    "redux-thunk": "^2.2.0"
  },
  "devDependencies": {
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-stage-2": "^6.24.1",
    "nodemon": "^1.14.11"
  }

编辑: 我认为问题是 next build 需要先 运行。我正在寻找是否可以添加一些 post deployment/build 命令,比如 Kudu。如果您有任何建议,请告诉我。

你说得对,你需要先运行 next build

因此,如果您在项目根目录下创建 pages 目录并编辑 package.json 以添加此内容,这将适用于 Azure Web App:

"scripts": {
    "postinstall": "next build"
}