亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在webpack中傳遞環境因變量

在webpack中傳遞環境因變量

慕尼黑8549860 2019-07-25 18:14:01
在webpack中傳遞環境因變量我正在嘗試將一個角度很大的應用程序從GUP轉換為WebPack。在GULP中,根據node_env的不同,我使用glp預處理來替換html頁面中的一些變量(例如數據庫名)。用WebPack實現類似結果的最佳方法是什么?
查看完整描述

3 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

實現這一目標有兩種基本方法。

DefinePlugin

new webpack.DefinePlugin({
    'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')}),

請注意,這將只替換匹配的“原樣”。這就是為什么字符串采用它的格式。你可以有一個更復雜的結構,比如一個物體,但是你明白了。

環境插件

new webpack.EnvironmentPlugin(['NODE_ENV'])

EnvironmentPlugin使用DefinePlugin內部,并將環境值映射為代碼。簡潔的語法。

化名

或者,您可以通過別名模塊..從消費者的角度來看,它應該是這樣的:

var config = require('config');

配置本身可以如下所示:

resolve: {
    alias: {
        config: path.join(__dirname, 'config', process.env.NODE_ENV)
    }}

比方說process.env.NODE_ENVdevelopment..它會映射到./config/development.js然后。它映射到的模塊可以像這樣導出配置:

module.exports = {
    testing: 'something',
    ...};



查看完整回答
反對 回復 2019-07-26
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊


只是另一個選項,如果您只想使用cli接口,只需使用define可供選擇的網頁包。我在我的package.json :

"build-production": "webpack -p --define process.env.NODE_ENV='\"production\"' --progress --colors"

所以我只能跑了npm run build-production.


查看完整回答
反對 回復 2019-07-26
  • 3 回答
  • 0 關注
  • 502 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號