W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
?EnvironmentPlugin
? 是在 ?process.env
? 鍵上使用 ?DefinePlugin
? 的簡寫。
?EnvironmentPlugin
? 接受鍵數(shù)組或?qū)⑵滏I映射到默認值的對象。
new webpack.EnvironmentPlugin(['NODE_ENV', 'DEBUG']);
這等效于以下 ?DefinePlugin
? 應用程序:
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
'process.env.DEBUG': JSON.stringify(process.env.DEBUG),
});
?EnvironmentPlugin
? 支持一個對象,它將鍵映射到它們的默認值。如果在 ?process.env
? 中未定義鍵,則采用鍵的默認值。
new webpack.EnvironmentPlugin({
NODE_ENV: 'development', // use 'development' unless process.env.NODE_ENV is defined
DEBUG: false,
});
例子:
讓我們調(diào)查一下在測試文件 ?entry.js
? 上運行之前的 ?EnvironmentPlugin
? 配置時的結(jié)果:
if (process.env.NODE_ENV === 'production') {
console.log('Welcome to production');
}
if (process.env.DEBUG) {
console.log('Debugging output');
}
在終端執(zhí)行 ?NODE_ENV=production webpack
? 構(gòu)建時,?entry.js
? 變成這樣:
if ('production' === 'production') {
// <-- 'production' from NODE_ENV is taken
console.log('Welcome to production');
}
if (false) {
// <-- default value is taken
console.log('Debugging output');
}
運行 ?DEBUG=false webpack
? 產(chǎn)生:
if ('development' === 'production') {
// <-- default value is taken
console.log('Welcome to production');
}
if ('false') {
// <-- 'false' from DEBUG is taken
console.log('Debugging output');
}
下面的 ?EnvironmentPlugin
? 配置提供?process.env.GIT_VERSION
?(如“v5.4.0-2-g25139f57f”)和 ?process.env.GIT_AUTHOR_DATE
?(如“2020-11-04T12:25:16+01:00”)對應存儲庫的最后一次 Git 提交:
const child_process = require('child_process');
function git(command) {
return child_process.execSync(`git ${command}`, { encoding: 'utf8' }).trim();
}
new webpack.EnvironmentPlugin({
GIT_VERSION: git('describe --always'),
GIT_AUTHOR_DATE: git('log -1 --format=%aI'),
});
第三方 ?DotenvPlugin
? (?dotenv-webpack
?) 允許您公開(一部分)dotenv 變量:
// .env
DB_HOST=127.0.0.1
DB_PASS=foobar
S3_API=mysecretkey
new Dotenv({
path: './.env', // Path to .env file (this is the default)
safe: true, // load .env.example (defaults to "false" which does not use dotenv-safe)
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: