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 相关文章推荐
web页面数据展示新想法(json)
Jun 08 Javascript
js 判断文件类型并控制表单提交示例代码
Nov 14 Javascript
Javascript中的delete操作符详细介绍
Jun 06 Javascript
js实现局部页面打印预览原理及示例代码
Jul 03 Javascript
js的[defer]和[async]属性
Nov 24 Javascript
详解js树形控件—zTree使用总结
Dec 28 Javascript
完美的js图片轮换效果
Feb 05 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
Javascript获取某个月的天数
May 30 Javascript
Vue自定义toast组件的实例代码
Aug 15 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
Oct 24 Javascript
JS+CSS实现过渡特效
Jan 02 Javascript
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 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
PHP面向对象精要总结
2014/11/07 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
python中pass语句用法实例分析
2015/04/30 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
会计主管岗位职责范文
2013/11/08 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
超市店庆活动方案
2014/08/31 职场文书
自我查摆剖析材料
2014/10/11 职场文书
教师辞职书范文
2015/02/26 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL