webpack和项目 配置环境变量

Posted 哈娄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack和项目 配置环境变量相关的知识,希望对你有一定的参考价值。

目录

介绍

1. 方案1 

1.1 webpack中环境变量配置

1.2 .env 文件

2 方案2

3方案3 


介绍

  • package.json中 --mode 配置的值只能在node环境 中读到
  • package.json中 --env 配置的值只能在浏览器环境 中读到

 平时开发要区分环境,js中和webpack中都需要读到环境变量配置,下面大概介绍下如何配置

1. 方案1 

1.1 webpack中环境变量配置

package.json 文件

"scripts": 
    "serve": "webpack --mode=development",
  
  • 在webpack中process.env.NODE_ENV可以读到development

1.2 .env 文件

!!!注意:使用.env文件,需要安装 dotenv-webpack 依赖, 在webpack插件中使用,会根据配置的 --mode 自动加载.env.xx文件

.env.development文件

NODE_ENV=development
  • 项目中js文件 可以用 process.env.NODE_ENV读到.env文件配置的 development

2 方案2

直接在package.json文件中全配置

"scripts": 
  "start": "cross-env NODE_ENV='development' --mode development",

3方案3 

package.json配置env, 然后webpack DefinePlugin插件配置全局变量让js获取变量

package.json文件

"scripts": 
  "dev": "cross-env NODE_ENV='development'"

webpack.config.js文件 

const path = require('path');
const webpack = require('webpack');

module.exports =  
  	plugins:[
           new webpack.DefinePlugin(
                // 注意:如果和package.json中 --mode 同名的 key,这里的值会覆盖mode配置的值
               	'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
           ),
        ],
    		...
;

以上是关于webpack和项目 配置环境变量的主要内容,如果未能解决你的问题,请参考以下文章

VUE项目多环境配置.md

vue cli4.0 配置环境变量

webpack4之踩坑总结

仿B站项目——环境配置,文件目录

无法从 Webpack 配置向 Angular 2 提供环境变量

webpack指南命令行环境配置