环境变量的使用

在打包的时候,开发环境压缩代码时会和webpack-dev-server开启的服务冲突,发生编译错误。本地的开发环境也没必要压缩代码。现在我没有把开发环境和生产环境的配置文件分离出来,使用的都是一个js配置文件。我配置的比较简单,两个环境就是压不压缩代码的区别。不过每次在两个环境中开启关闭压缩代码,都是手动改,太浪费webpack这个神奇的打包工具了。

环境变量的设置有两种

  • 设置node进程里的环境变量 NODEENV=XXXXX ,再用 process.env.NODE_ENV获取。

  • 通过webpack的环境变量配置,---env=xxxx,获取的方法有点不一样,环境变量时通过参数传过来的,所以配置文件导出的不是一个对象了,导出是一个函数,环境变量传到这个函数的参数,函数返回一个对象。webpack配置方法还是跟以前一样。

const path = require("path");

const PATHS = {
    app:path.join(__dirname,"src"),
    build:path.join(__dirname,"dist")
};

module.exports=function(env){
          return {
        entry: {
            main: PATHS.app,
        },
        mode: env,
        output: {
            path: PATHS.build,
            filename: '[name].boundle.js'
        }
    };
}

Last updated