Чтобы приложение MERN работало в Azure, необходимо настроить приложение так, чтобы оно отображало статическую сборку реагирования через экспресс.
Отредактируйте экспресс server.js
и добавьте следующее:
const path = require("path"); // on top
// Serve Static assests if in production
if (process.env.NODE_ENV === "production") {
app.use(express.static("client/build")); // change this if your dir structure is different
app.get("*", (req, res) => {
res.sendFile(path.resolve(__dirname, "client", "build", "index.html"));
});
}
Затем добавьте эту строку сценария в ваш экспресс package.json
:
"scripts": {
"start": "node server.js",
"azure": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client && npm run start"
}
Примечание: отредактируйте это, чтобы соответствовать структуре каталогов.
Вот и все, теперь загрузите ваше приложение вAzure и установите для вашего экспресс-порта значение 80
в переменных среды в настройках приложения Azure.