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

所属分类: 网络编程 / JavaScript 阅读数: 1667
收藏 0 赞 0 分享

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

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

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

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

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

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行下面需要用到的代码,然后运行打包命令,就可以看到错误信息

更多精彩内容其他人还在看

setInterval和setTimeout停止的方法

要想知道它们是怎么停止的,首先我们要了解它们的运行机制和原理,下面是具体的介绍。
收藏 0 赞 0 分享

使用JavaScript让网页的title动起来

使用webQQ有些时间了,webQQ每次收到信息,就会看到title提示那个网友或群来信息,发现挺有意思,其实这个很简单。
收藏 0 赞 0 分享

如jQuery般易用的api风格代码分享

最近几天闲来无事,随便写了点代码玩了玩。个人觉得,应该把编码当做一种乐趣,要不然会觉得很累...
收藏 0 赞 0 分享

js contains方法实现代码

IE有许多好用的方法,后来都被其他浏览器抄袭了,比如这个contains方法。如果A元素包含B元素,则返回true,否则false。唯一不支持这个方法的是IE的死对头firefox。
收藏 0 赞 0 分享

禁止JS运行的代码

如果我们要让页面上的javascript不运行,方法最简单的就是使用noscript标签,经常被用来屏蔽那些免费空间要加上的JS。
收藏 0 赞 0 分享

javascript提取内容到作为文章简介的代码

javascript提取文本框内容到另一个文本框,经常被用来做内容简介的读取,这样编辑就不用每次都去处理一篇文章的简介了。
收藏 0 赞 0 分享

javascript实现网站顶部出现几秒后图片缓慢消失的效果

快过年了,很多网站首页都放上了新春的祝福,有些是直接换成皮肤了,而有些则是用一张很大的图片放在网站顶部,在倒数几秒后,缓慢升上去直到最后消失。
收藏 0 赞 0 分享

javascript代码加载优化方法

给你的网站加上代码统计!常用的方法是直接加统计代码到网页,但你的网页数量很多呢?
收藏 0 赞 0 分享

jquery键盘事件介绍

jquery键盘事件介绍,使用jquery的朋友可以参考下。
收藏 0 赞 0 分享

基于jQuery实现表格数据的动态添加与统计的代码

使用jQuery可以大大减轻工作量,在实际开发中,使用了jQuery的clone(true)函数,该函数可以创建一个jQury对象的副本,并且参数为true时,可以复制该元素的所有事件处理函数。
收藏 0 赞 0 分享
查看更多