![](/img/trans.png)
[英]How to install Vuetify correctly if there is no webpack.config.js file?
[英]How to access env vars from webpack.config.js file?
我嘗試通過 process.env.env_name 從 webpack.config.js 訪問環境變量,盡管我可以通過 webpack.config.js 中的 process.env.env_name 訪問我的 .env(本地)中的環境變量,但我可以t 訪問在 config/default.js 文件中聲明的環境變量。 任何的想法? ——
您可以在腳本中傳入您的 env 變量:
webpack --env.MY_VARIABLE=VALUE --env.MY_OTHER_VARIABLE=OTHER_VALUE
並訪問它:
...
module.exports = env => {
// Use env.<YOUR VARIABLE> here:
console.log('MY_VARIABLE: ', env.MY_VARIABLE); // 'VALUE'
...
};
或者你可以使用一些包從你的 env 文件中讀取它,比如dotenv 。
運行npm i dotenv
。
在你的 webpack.config.js 文件中導入它:
// if .env is on same folder as webpack.config.js
var dotenv = require('dotenv')
// if is located elsewhere
var dotenv = require('dotenv').config({ path: '/full/custom/path/to/your/env/vars' });
// same as above, but with abstraction
var dotenv = require('dotenv').config({path: __dirname + '/.env'});
最后:
// define a new plugin on your webpack
plugins: [
...
new webpack.DefinePlugin({
// try:
"process.env": dotenv.parsed
// or:
'process.env': JSON.stringify(dotenv.config().parsed)
}),
]
現在,您可以將應用程序中的變量作為process.env.MY_VARIABLE
讀取,在.env
定義。
你可以像這樣使用 webpack.DefinePlugin
plugins: [
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('development'),
'BASE_URL': JSON.stringify('http://localhost:5000/')
}
})
],
然后像這樣讀入你的js代碼
process.env.BASE_URL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.