vue项目打包之开发环境和部署环境的实现


Posted in Javascript onApril 23, 2020

项目开发阶段和生产环境可能不一样

如前端在开发阶段,接口可能是自己使用 node.js 搭建的服务器,API 返回的也都是假数据,等后台接口开发好后,再切换成后台提供的接口,等测试没有问题,服务端上线后,又要改成正式的接口

vue项目打包之开发环境和部署环境的实现

手动改动接口,既繁琐又容易出错(当然,区别还不止这些)

优雅的解决方案是,分别使用两个入口文件,一个用于开发环境打包,一个用于生产环境打包

具体来说,分为下面几个步骤

1、创建入口文件

在 src 目录下新建 prod_env.js 和 dev.env.js

将main.js 中代码分别拷贝到这两个文件中,并删除 main.js

2、配置打包时的入口文件

项目根目录下新建 vue.config.js

编写如下代码

module.exports={
  chainWebpack:config=>{
    config.when(process.env.NODE_ENV === 'production',config=>{
      config.entry('app').clear().add('./src/prod_env.js')
    })
    config.when(process.env.NODE_ENV === 'development',config=>{
      config.entry('app').clear().add('./src/dev_env.js')
    })
  }
}

说明

开发时,使用 npm run serve 命令,NODE_ENV 的值就是 developmnent ,所以会将 dev.env.js 作为入口文件

部署时,使用 npm run build 命令,NODE_ENV 的值就是 production,所以会将 prod_evn.js 作为入口文件

 3、测试

故意在两个入口文件中搞点错误,如注释1行下面需要用到的代码,然后运行打包命令,就可以看到错误信息

Javascript 相关文章推荐
增强的 JavaScript 的 trim 函数的代码
Aug 13 Javascript
javascript下操作css的float属性的特殊写法
Aug 22 Javascript
javascript 按回车键相应按钮提交事件
Nov 02 Javascript
jQuery 技巧小结
Apr 02 Javascript
利用JS自动打开页面上链接的实现代码
Sep 25 Javascript
jQuery代码优化之基本事件
Nov 01 Javascript
js 获取radio按钮值的实例
Aug 17 Javascript
JavaScript获取网页表单提交方式的方法
Apr 02 Javascript
原生js实现无限循环轮播图效果
Jan 20 Javascript
Bootstrap Table快速完美搭建后台管理系统
Sep 20 Javascript
解决vue scoped html样式无效的问题
Oct 24 Javascript
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
Apr 24 Vue.js
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 #Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
Apr 22 #Javascript
如何修改Vue打包后文件的接口地址配置的方法
Apr 22 #Javascript
nuxt+axios实现打包后动态修改请求地址的方法
Apr 22 #Javascript
JS脚本实现定时到网站上签到/签退功能
Apr 22 #Javascript
微信小程序实现手指拖动选项排序
Apr 22 #Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
Apr 22 #Javascript
You might like
PHP可变函数的使用详解
2013/06/14 PHP
php对数组排序代码分享
2014/02/24 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
PHP 中常量的知识整理
2017/04/14 PHP
Ucren Virtual Desktop V2.0
2006/11/07 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
什么是URL
2015/12/13 面试题
建筑工程专业毕业生自荐信
2013/10/19 职场文书
网上快餐厅创业计划书
2014/02/01 职场文书
家长会欢迎标语
2014/06/24 职场文书
硕士学位论文评语
2014/12/31 职场文书
八达岭长城导游词
2015/01/30 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
教师求职简历自我评价
2015/03/10 职场文书
财务部岗位职责范本
2015/04/14 职场文书
南极大冒险观后感
2015/06/05 职场文书
关于开学的感想
2015/08/10 职场文书