Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法获取.env变量以隐藏api密钥_Javascript_Node.js_Dotenv - Fatal编程技术网

Javascript 无法获取.env变量以隐藏api密钥

Javascript 无法获取.env变量以隐藏api密钥,javascript,node.js,dotenv,Javascript,Node.js,Dotenv,我在使用process.env隐藏api密钥时遇到问题。这个过程看起来很简单,所以我不确定到底发生了什么。如果我将api键插入url,它会工作,但是当我使用.env变量时,它就不工作了。我尝试了console.log(process.env.WEATHER\u API\u KEY),但它没有定义 我正在使用JS、express和node .env文件: WEATHER_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; app.js文件: require('do

我在使用process.env隐藏api密钥时遇到问题。这个过程看起来很简单,所以我不确定到底发生了什么。如果我将api键插入url,它会工作,但是当我使用.env变量时,它就不工作了。我尝试了console.log(process.env.WEATHER\u API\u 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", (req, 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);
});

引号和分号是复制粘贴错误还是.env中的内容?该.env文件是否位于项目的根目录中?
console.log(process.env)
。这不是我项目的根本。谢谢你,迈克尔·罗德里格斯!引号和分号是复制粘贴错误还是.env中的内容?该.env文件是否位于项目的根目录中?
console.log(process.env)
。这不是我项目的根本。谢谢你,迈克尔·罗德里格斯!