Как исправить ошибку «Не удалось найти файл .env» при развертывании на AWS elasti c beanstalk? - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь развернуть приложение и серверное приложение express на AWS. При развертывании все работает нормально, кроме внешнего интерфейса. У меня есть несколько путей в приложении. Одним из них является /video/token, который должен генерировать access token. когда я прохожу этот маршрут, он returns получает мне токен доступа, как и ожидалось, но интерфейс никогда не загружается, он просто говорит мне Cannot Get /.

Я почти уверен, что это не имеет никакого отношения к коду но с конфигурацией проекта в пакете. json.

Вот как выглядят мои маршруты: -

app.get("/api/greeting", (req, res) => {
  const name = req.query.name || "World";
  res.setHeader("Content-Type", "application/json");
  res.send(JSON.stringify({ greeting: `Hello ${name}!` }));
});

app.get("/video/token", (req, res) => {
  const identity = req.query.identity;
  const room = req.query.room;
  const token = videoToken(identity, room, config);
  sendTokenResponse(token, res);
});

app.post("/video/token", (req, res) => {
  const identity = req.body.identity;
  const room = req.body.room;
  const token = videoToken(identity, room, config);
  sendTokenResponse(token, res);
});

app.set('port', (process.env.PORT || 3000));
app.listen(config.port, () =>
  console.log(`Express server is running on localhost:${config.port}`)
);

пакет. json

{
  "name": "react-express-starter",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "body-parser": "^1.19.0",
    "ejs": "^3.0.2",
    "esm": "^3.2.25",
    "express": "^4.17.1",
    "express-pino-logger": "^4.0.0",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-scripts": "^3.4.1",
    "styled-components": "^5.0.1",
    "twilio": "^3.41.1",
    "twilio-video": "^2.3.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "server": "node-env-run server --exec nodemon | pino-colada",
    "server:prod": "node server",
    "dev": "run-p server start"
  },
  "proxy": "http://localhost:3000",
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "engines": {
    "node": "12.x"
  },
  "devDependencies": {
    "node-env-run": "^3.0.2",
    "nodemon": "^2.0.2",
    "npm-run-all": "^4.1.5",
    "pino-colada": "^1.5.1"
  }
}

Это дает мне эту ошибку, когда я запускаю команду npm run server:prod

Error: Could not find the .env file under: "/var/app/current/.env"
    at Object.init (/var/app/current/node_modules/node-env-run/dist/lib/cli.js:74:21)
    at Object.<anonymous> (/var/app/current/node_modules/node-env-run/dist/bin/node-env-run.js:28:17)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
    at internal/main/run_main_module.js:18:47

...