我正在使用 Webpack 進行開發。
當我使用.env檔案運行專案時,它按預期作業。
但是,當我更改檔案名.env.development,則process.env成了undefined。
我該如何解決?
包.json
"scripts": {
"start": "webpack-dev-server --config ./webpack.config.js"
webpack.config.js
const webpack = require("webpack");
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const Dotenv = require("dotenv-webpack");
module.exports = {
mode: "development",
entry: path.resolve(__dirname, "./src/index.jsx"),
devtool: "source-map",
output: {
path: path.join(__dirname, "/dist"),
filename: "bundle.js",
},
devServer: {
port: 3000,
static: true,
historyApiFallback: true,
open: true,
},
resolve: {...},
module: {...},
plugins: [
new Dotenv(),
new HtmlWebpackPlugin({
template: "public/index.html",
filename: "index.html",
favicon: "public/favicon.ico",
}),
new webpack.ProvidePlugin({
Buffer: ["buffer", "Buffer"],
}),
new webpack.ProvidePlugin({
process: "process/browser",
}),
],
};
uj5u.com熱心網友回復:
dotenv默認情況下只查找.env檔案。這是故意的,因為 env 檔案應該是本地的并且特定于應用程式運行的環境。你不應該為不同的環境保留不同版本的 env。
我將參考dotenv's 的檔案:
我應該有多個 .env 檔案嗎?
不。我們強烈建議不要使用“主”
.env檔案和“環境”.env檔案,例如.env.test. 您的配置應該因部署而異,并且您不應該在環境之間共享值。在十二因素應用程式中,環境變數是粒度控制,每個都與其他環境變數完全正交。它們永遠不會作為“環境”組合在一起,而是針對每個部署進行獨立管理。這是一個隨著應用程式在其生命周期內自然擴展為更多部署而平滑擴展的模型。
–十二要素應用程式
但是,如果您選擇,您可以告訴dotenv-webpack在哪里查找您的檔案:
plugins: [
new Dotenv({
path: './.env.development',
}),
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/366299.html
標籤:javascript 反应 网络包
