• webpack配置中环境变量-process.env. NODE_ENV


    背景

      webpack有一特性就是可以让使用者灵活的在不同环境(开发环境,生产环境等)进行相应的特性的策略打包,比如: 是否使用反向代理使用接口,针对不同的静态资源(如图片等)是直接拷贝还是进行打包编译等等,这一特性的诞生归功于Nodejs的环境变量-process.env. NODE_ENV

    process.env. NODE_ENV

      1. 值

        1.1  production:生产阶段

        1.2 development/staging: 开发阶段

      2. webpack中的应用

    // webpack.config.js
    module.exports = {
      // webpack的mode(模式参数):不同模式下进行不同的内置优化
      mode: process.env.NODE_ENV === 'production' ? 'production' : 'development'
    }
      3. 使用
        3.1 这个变量在具体的应用的时候是需要对当前的环境变量进行设置的,一般情况会在进行执行不同命令的时候去设置
        3.2 由于这个变量针对于不同的系统设置方式不一样,如设置为开发模式的话,
    window系统: set NODE_ENV=development  
       mac系统: export NODE_ENV=development
        3.3 鉴于兼容性和使用上的问题,就有人开发了cross-env
           3.3.1 这是一个跨平台的第三方的包,使用的时候需要安装下,npm i --save-dev cross-env
           3.3.2 设置环境变量: cross-env NODE_ENV=development即可
    // package.json
    {
      "scripts": {
        // 设置为开发环境并且按照webpack.dev.js的配置进行打包部署
        "dev": "cross-env NODE_ENV=development webpack --config webpack.config.js"
       }
    }
          上述只是讲解了一个大概的思路和对应的小例子,请大家根据自己具体的项目进行特殊配置。
     
           如有不严谨和错误地方请希望指正,祝大家工作顺利 ! 
  • 相关阅读:
    洛谷P1085 不高兴的津津
    为什么要学习算法
    洛谷P1001 A+B Problem
    计算机问题求解周期
    洛谷P1000 超级玛丽游戏
    洛谷P1421 小玉买文具
    CF359D Pair of Numbers(ST+二分)
    2020.10.7
    2020.10.10
    2020.10.8
  • 原文地址:https://www.cnblogs.com/yincece0316/p/12391534.html
Copyright © 2020-2023  润新知