問題
實際開發中,開發環境和生產環境中一些變量是不同的,比如接口地址等等,打包之前需要手動切換。
編譯時
新建env.js
let baseUrl = ''; if(process.env.NODE_ENV == 'production'){ baseUrl = 'https://xxxxxxxxx'; } else if (process.env.NODE_ENV == 'development') { baseUrl = '/api' } export { baseUrl }
process.env.NODE_ENV 是通過webpack 內置的 DefinePlugin 為所有的依賴定義的變量
webpack.dev.conf.js
new webpack.DefinePlugin({ 'process.env.NODE_ENV': 'development' }),
webpack.prod.conf.js
new webpack.DefinePlugin({ 'process.env.NODE_ENV': 'production' }),
這樣在項目任意文件中都能調用process.env.NODE_ENV變量,本人測試過,process并不是掛載在window變量上,猜測可能是掛載到了node的process變量。
在運行腳本編譯項目的時候,會根據變量值的不同,設置不同的baseUrl。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。