2020年2月 webpack的mode與process.env.NODE_ENV與dotenv


process.env

process.env是運行node腳本時的環境對象,此環境中的變量可以在process.env中取到,但只能在node腳本中取。

對於被webpack打包的項目js文件,必須在webpack.config中通過definePlugin將process.env的變量中轉一下,然后項目js文件中就能取到definePlugin中定義的變量。

webpack4提供了一種Mode模式, --mode production  參數會自動將definePlugin中加入process.env.NODE_ENV設置為"production",也就是省去了自己去操作這一步。除此之外,不同的mode還定制了一些其他的配置項。這與node的環境變量是兩個東西,只設置Mode並不能獲取node腳本中的process.env。

所以在webpack4的項目中,可以無需definePlugin就直接在項目中使用process.env.NODE_ENV,而其他版本不行。

 

dotenv

dotenv是一個能夠讀文件獲取環境變量的庫,文件形式有.env,.env.local,優先級也有區別。

create-react-app搭建的項目自帶這個包,本身可以在node腳本中直接獲取到,配合dotenv-webpack插件可以在項目中使用,導入的變量可以在項目文件中獲取。

dotenv的用處在於可以自定義環境變量,不局限於mode提供的NODE_ENV,也不用definePlugin了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM