zoukankan      html  css  js  c++  java
  • 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了。

  • 相关阅读:
    软件工程个人作业01
    个人冲刺——(五)
    个人冲刺——(四)
    个人冲刺——(三)
    个人冲刺——(二)
    个人冲刺——(一)
    单词统计
    第十周学习总结
    第九周学习总结
    用户模板场景分析
  • 原文地址:https://www.cnblogs.com/natsu07/p/12294940.html
Copyright © 2011-2022 走看看