vue项目环境变量配置的实现方法


Posted in Javascript onOctober 12, 2018

问题

实际开发中,开发环境和生产环境中一些变量是不同的,比如接口地址等等,打包之前需要手动切换。

编译时

新建env.js

let baseUrl = '';
if(process.env.NODE_ENV == 'production'){
  baseUrl = 'https://xxxxxxxxx';
} else if (process.env.NODE_ENV == 'development') {
 baseUrl = '/api'
}

export {
  baseUrl
}

process.env.NODE_ENV 是通过webpack 内置的 DefinePlugin 为所有的依赖定义的变量

webpack.dev.conf.js

new webpack.DefinePlugin({
   'process.env.NODE_ENV': 'development'
  }),

webpack.prod.conf.js

new webpack.DefinePlugin({
   'process.env.NODE_ENV': 'production'
  }),

这样在项目任意文件中都能调用process.env.NODE_ENV变量,本人测试过,process并不是挂载在window变量上,猜测可能是挂载到了node的process变量。

在运行脚本编译项目的时候,会根据变量值的不同,设置不同的baseUrl。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
How to Auto Include a Javascript File
Feb 02 Javascript
jquery配合css简单实现返回顶部效果
Sep 30 Javascript
javascript 动态创建表格
Jan 08 Javascript
javascript自动生成包含数字与字符的随机字符串
Feb 09 Javascript
js实现图片和链接文字同步切换特效的方法
Feb 20 Javascript
javascript显式类型转换实例分析
Apr 25 Javascript
jquery解析json格式数据的方法(对象、字符串)
Nov 24 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
Aug 01 Javascript
jQuery实现拼图小游戏(实例讲解)
Jul 24 jQuery
vue拖拽组件使用方法详解
Dec 01 Javascript
express express-session的使用小结
Dec 12 Javascript
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
原生JS实现自定义下拉单选选择框功能
Oct 12 #Javascript
原生JS实现轮播图效果
Oct 12 #Javascript
详解KOA2如何手写中间件(装饰器模式)
Oct 11 #Javascript
Element Input组件分析小结
Oct 11 #Javascript
element el-input directive数字进行控制
Oct 11 #Javascript
详解angular2.x创建项目入门指令
Oct 11 #Javascript
详解vscode中vue代码颜色插件
Oct 11 #Javascript
You might like
php 冒泡排序 交换排序法
2011/05/10 PHP
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
PHP7 标准库修改
2021/03/09 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
Div Select挡住的解决办法
2008/08/07 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
element中的$confirm的使用
2020/04/26 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
详细探究Python中的字典容器
2015/04/14 Python
python实现矩阵乘法的方法
2015/06/28 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
python实现控制台打印的方法
2019/01/12 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
2020/01/20 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
Python 爬虫的原理
2020/07/30 Python
python简单实现插入排序实例代码
2020/12/16 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
html5教程画矩形代码分享
2013/12/04 HTML / CSS
纽约手袋品牌:KARA
2018/03/18 全球购物
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
《中彩那天》教学反思
2014/02/22 职场文书
在校大学生的职业生涯规划书
2014/03/14 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
导游词之广西漓江
2019/11/02 职场文书
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS