Способ развертывания приложения MERN в Azure вместо Heroku - PullRequest
1 голос
/ 11 июля 2019

Мне было интересно, как развернуть мое приложение mern в Azure. Я гуглил несколько дней, и это меня очень расстроило. Когда я создаю свое приложение, оно, очевидно, строит только клиентскую часть. Как я могу загрузить весь свой проект в Azure и запустить как клиентскую, так и серверную часть приложения?

Я бы хотел избежать Heroku и напрямую запустить свой проект из Azure.

Какие инструменты я могу использовать для сборки?

Большое спасибо заранее!

1 Ответ

0 голосов
/ 11 июля 2019

Чтобы приложение 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.

...