gpt4 book ai didi

reactjs - 生产中的 Dotenv-webpack?

转载 作者:行者123 更新时间:2023-12-03 16:04:06 28 4
gpt4 key购买 nike

我正在尝试使用 dotenv-webpack 插件。这在本地效果很好。但是当我部署到 Heroku 时失败了。

我已经根据这个 git issue 遵循了建议,但仍然有问题。

我的 webpack 配置如下所示:

const path = require('path');
const Dotenv = require('dotenv-webpack');

module.exports = {
context: path.join(__dirname, '/src'),

entry: {
javascript: './js/index'
},

output: {
filename: 'bundle.js',
path: path.join(__dirname, '/dist'),
},

resolve: {
alias: {
react: path.join(__dirname, 'node_modules', 'react')
},
extensions: ['.js', '.jsx'],
},

module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loaders: ['babel-loader'],
},
{
test: /\.html$/,
loader: 'file?name=[name].[ext]',
},
],
},
plugins: [
new Dotenv({
path: path.resolve(__dirname,'.env')
}),
]
};

我期望 dotenv 插件的编写方式如上,它将在构建时解析我的 .env 文件(位于项目的根目录,以及 webpack.config),从而使我的项目能够访问 env vars。相反,环境变量是 undefined ,在 Heroku 中。我在 Heroku 中设置了一个 env var。 Key 设置为类似 SECRET_KEY 的内容。值设置为类似 123456 的值。谁能给我一些见解?

最佳答案

我不使用 Heroku,也没有尝试过。但我知道如果你在 Heroku 仪表板上定义了变量,那么这些变量就是系统变量,所以你需要使用选项 systemvars: true “dotenv-webpack”。

作为声明(我再说一遍,我从未使用过 Heroku):
所有这一切都取决于 Heroku 部署的工作方式,如果您在 Heroku 内部构建应用程序(您在 Heroku 内部调用 Webpack)那么它可以工作,但是如果您将构建的应用程序发送到 Heroku(您不在 Heroku 内部调用 Webpack)那么它不起作用。

关于reactjs - 生产中的 Dotenv-webpack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54261938/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com