webpack 如何在react应用中使用dotenv传递环境变量?我得到了undefined

huus2vyu  于 2022-11-13  发布在  Webpack
关注(0)|答案(1)|浏览(165)

这是我的react fontend应用程序。要从node.js后端传递数据,我需要成功地传递API的url。目前我正在将地址设置为我的localhost。
我很难找到配置文件的process.env.API_URL路径。
我的文件结构是

.src
  - config
    * config.js
  - .env
.webpack.config.js

我的.env文件是

API_URL=http://localhost:3006

我的配置文件在下面,但我得到“未定义”作为我的控制台结果在这里。显然变量是没有成功传递。

console.log(process.env.API_URL)

const config = {
  host: process.env.API_URL
};

export default config;

我已经安装了“npm安装dotenv --保存”和“npm i dotenv-webpack”
在我的Webpack.config.js里面是下面的。我感觉我就快工作了,但是我就是不知道这里有什么问题。

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const webpack = require("webpack");
const dotenv = require('dotenv');
dotenv.config({ path: './.env' }); 

module.exports = {
plugins: [
    new webpack.DefinePlugin({
      'process.env.API_URL': JSON.stringify(process.env.API_URL),
    }),
  ],
};

如有任何建议,欢迎提出。谢谢。

kmbjn2e3

kmbjn2e31#

嗯,你在src文件夹中有.env,你试图在与webpackConfig相同的级别上访问它。因此,将.env文件移动到与config相同的级别上,或者修复你的导入。

相关问题