无法获取.env变量来隐藏api键

我无法使用process.env隐藏api密钥。这个过程看起来很简单,所以我不确定是怎么回事。如果我将api键插入网址,则可以使用,但是当我使用.env变量时,则无法使用。我尝试过console.log(process.env.WEATHER_API_KEY),但它未定义。

我正在使用JS,Express和Node。

.env文件:

WEATHER_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

app.js文件:

require('dotenv').config();
const express = require("express");
const app = express();
const PORT = process.env.PORT || 3000;
const rp = require("request-promise");
let bodyParser = require("body-parser");


app.set("view engine","ejs");
app.use(express.static(__dirname + "/public"));
app.use(
  bodyParser.urlencoded({
    extended: true
  })
);

app.get("/",(req,res) => {
  res.render("index");
});

app.get("/results",res) => {
  let query = req.query.search;
  let weatherApiKey = process.env.WEATHER_API_KEY;
  let weatherUrl =
    "https://api.openweathermap.org/data/2.5/weather?zip=" +
    query +
    "&appid=" +
    weatherApiKey;
  rp(weatherUrl)
    .then((body) => {
      let data = JSON.parse(body);
      res.render("results",{ data: data });
      console.log("DOTENV",process.env.WEATHER_API_KEY);

    })
    .catch(err => {
      console.log(err);
    });
});

app.listen(PORT,() => {
  console.log("Weather App is listening on PORT:",PORT);
});
mystiquec 回答:无法获取.env变量来隐藏api键

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2909846.html

大家都在问