Реагировать и Nodejs - PullRequest
       2

Реагировать и Nodejs

0 голосов
/ 11 марта 2020

У меня проблема с подключением реакции и express nodejs. На производстве они отлично работают вместе, но на dev они не связаны. Я прочитал много статей, и ни одна из них не работала со мной. Я размещаю на героку. И на производстве, как я могу заменить локальные конечные точки хоста на URL heroku.

const express = require("express");
const path = require("path");

const app = express();

const publicPath = path.join(__dirname, "", "../build");
app.use(express.static(publicPath));

app.get("*", (req, res) => {
  res.sendFile(path.join(publicPath, "index.html"));
});
const port = process.env.PORT || 3000;

app.listen(port, () => {
  console.log("Server is up on port " + port);
});

для package.json /

    "scripts": {
        "start": "node server/server.js",
        "dev": "react-scripts start",
        "build": "react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
      }

1 Ответ

1 голос
/ 11 марта 2020

При условии, что ваши reactjs и приложения узлов развернуты отдельно, вы можете выполнить следующие действия:

Для бэкэнда dotenv пакет очень популярен и легко setup.

1-) добавьте файл .env в папку root с такими переменными среды, как этот:

MONGO_URL=mongodb://localhost:27017/

Обратите внимание, что не должно быть пустого места.

2-) В ваш основной файл импортируйте dotenv как можно скорее, прежде чем читать какие-либо переменные.

require("dotenv").config();

3-) Теперь вы можете обращаться к своим переменным следующим образом:

const dbUrl = process.env.MONGO_URL;

4-) поместите ваш файл .env в файл .gitignore

5-) Укажите версию node.js, добавив в package.json раздел engine , который будет использоваться для запуска вашего приложения на Heroku.

Например:

"engines": {
    "node": "10.1"
}

6-) После того, как вы развернете свое приложение узла на heroku, добавьте свои переменные, используя значения PROD, как описано здесь в heroku docs .

Если вы создали ваше приложение reactjs, используя create-Reaction-a pp Вы можете выполнить следующие действия:

1-) Добавить файл .env в папку root. Ваши имена переменных должны начинаться с REACT_APP_ ...

REACT_APP_API_URL=http://localhost:3001/api

2-) Получите доступ к своим переменным, как это в вашем коде:

process.env.REACT_APP_API_URL

3-) put ваш файл .env в файл .gitignore

4-) После развертывания приложения reactjs на heroku установите переменные prod в разделе «Переменные конфигурации», как мы это делали для приложения узла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...