我在React项目中工作,当直接输入字符串值时,API调用成功完成。使用.env文件时失败
require('dotenv').load();
export default () => {
const postToApi = (event) => {
event.preventDefault();
axios.post(process.env.API_POST_URL, {step : "3"})
.then(res => {
console.log(res);
console.log(res.data);
})
};
这是我在根项目文件夹中的.env文件:
NODE_PATH=./node_modules
API_POST_URL=http://localhost:4000/api/donate
执行上述功能时浏览器控制台错误:
isURLSameOrigin.js:51 Uncaught (in promise) TypeError: Cannot read property 'protocol' of undefined
at isURLSameOrigin (isURLSameOrigin.js:51)
at dispatchXhrRequest (xhr.js:106)
at new Promise (<anonymous>)
at xhrAdapter (xhr.js:18)
at dispatchRequest (dispatchRequest.js:49)
package.json依赖关系对象列表:"dotenv": "^6.1.0"
有人知道为什么变量传递不正确吗?
答案 0 :(得分:0)
const path = require('path');
require('dotenv')。config({path:path.join(__ dirname,'../。env')});
答案 1 :(得分:0)
仅仅因为dotenv.config({ path: "/.config/config.env" });
就出现了这个问题
是错误的路径,我应该使用dotenv.config({ path: "./config/config.env" });
仔细检查您的路径。
答案 2 :(得分:-2)
您是否不需要在qoutes之类的NODE_PATH = "./node_modules"
console.log(process.env.API_POST_URL);
只需检查dotenv文档,并说使用`require('dotenv')。config()'