详解最新vue-cli 2.9.1的webpack存在问题


Posted in Javascript onDecember 16, 2017

最近vue-cli更新,用其构建项目的时候,发现bulid文件下少了两个文件,分别是dev-sever.js和dev-client.js

vue-cli 2.8

详解最新vue-cli 2.9.1的webpack存在问题

vue-cli 2.9.1

详解最新vue-cli 2.9.1的webpack存在问题

这是为什么呢

我们查看下package.json

vue-cli 2.8

详解最新vue-cli 2.9.1的webpack存在问题

vue-cli 2.9.1

详解最新vue-cli 2.9.1的webpack存在问题

由此可知 在最新版本的vue-cli中webpack版本更新到v3.6.0了。

既然更新了 那就我们就重新开下webpack的配置项。

vue自启浏览器设置

当我们启动npm run dev执行此cli的时候发现 居然不会自己启动浏览器了

这样的话 岂不是装逼不了? 不不不 还是可以的,只要我们修改下配置项就可以了

我们先看看 我们npm run dev 到底执行了什么

继续查看package.json的scripts选项的dev 配置

vue-cli 2.9.1 package.json

详解最新vue-cli 2.9.1的webpack存在问题

对比下就知道 当我们运行npm run dev 实际上是执行了webpack-dev-server ?inline ?progress ?config build/webpack.dev.conf.js

vue-cli 2.8 package.json

详解最新vue-cli 2.9.1的webpack存在问题

跟之前运行npm run dev 有区别 也好说明了他要删除这两个文件的原因了,因为最新版本的webpack的配置中是采用webpack-dev-server这个插件进行的启动浏览器的 可以在官网进行查看他的一个API使用说明

build/webpack.dev.conf.js 运行路径 那查看下其配置

vue-cli 2.9.1 build/webpack.dev.conf.js

详解最新vue-cli 2.9.1的webpack存在问题

查看API就知道这个open 这个参数就是打开自启服务器的原因,但是config.dev.autoOpenBrowser这个是什么呢,我们可以向上查找

详解最新vue-cli 2.9.1的webpack存在问题

刚好对应config的定义 require就是加载进来 那就是继续查看对应的路径 刚好对应config文件下的index.js 在require默认是其下的index文件 这里就对应index.js

config/index.js

详解最新vue-cli 2.9.1的webpack存在问题

这里的autoOpenBrowser对应false ,既然我们要改动那就直接改为true就可以。然后在重启下服务 就可以自启动服务了

其中的port也可以改对应的启动端口,在最新版本的vue-cli配置中 即使设置的端口被占用了,他自动会在其端口在加1 开启服务的。

饿了吗APP 接口设置问题

由于bulid文件夹下的两个文件没有,那饿了吗接口怎么设置呢。

在此之前我们理解下饿了吗app的接口的设置原理,由于数据都是直接从data.json这个文件获取的,所以呢,我们要模拟mock做个接口。但是在饿了吗APP的设置中 它是直接启动服务的时候把接口给做好了,这也是为什么我们可以直接访问其/api/seller有对应数据

vue-cli 2.9.1

详解最新vue-cli 2.9.1的webpack存在问题

在vue-cli 2.9.1之前版本是在dev-server.js直接设置的 具体参数在

vue-cli 2.9.1

详解最新vue-cli 2.9.1的webpack存在问题

方法一:

回到起点,在最新版本vue-cli的配置中浏览器服务都在webpack-dev-server 这个插件中,那我们就其在webpack.dev.conf.js进行修改

现在我们的要求就是怎么在服务开启的时候接口数据也对应做好呢,那我们查看其插件API 刚好有一个参数就是devServer.before

devServer.before

详解最新vue-cli 2.9.1的webpack存在问题

就是解决问题所在了。 进行修改

webpack.dev.conf.js

详解最新vue-cli 2.9.1的webpack存在问题

这样我们就可以直接发送API请求数据了

this.axios.get("/api/seller").then(function(res){
 // do something
})

方法二

会node的也可以直接做个api接口,开启node服务 然后饿了吗项目直接访问这个接口,当然这里会存在跨域问题和路由映射,不过webpack-dev-server 帮你们解决这个问题了 主要是设置参数问题 devServer.proxy 进行路由映射等等

详解最新vue-cli 2.9.1的webpack存在问题

不过这些还需要考虑到自身能力,我建议还是使用第一种方法

总结

前端技术更新那么快,我们最好就是每天都要学习想对应的知识,主要是底层能理解透彻了 这些问题我们就可以对应解决

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

Javascript 相关文章推荐
jQuery 全选效果实现代码
Mar 23 Javascript
jQuery each()小议
Mar 18 Javascript
jquery实现手风琴效果实例代码
Nov 15 Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 Javascript
node.js中的buffer.toString方法使用说明
Dec 14 Javascript
JS实现iframe自适应高度的方法示例
Jan 07 Javascript
javaScript+turn.js实现图书翻页效果实例代码
Feb 16 Javascript
JS实现的简单拖拽功能示例
Mar 13 Javascript
javascript实现下雨效果
Mar 27 Javascript
Vue 进阶教程之v-model详解
May 06 Javascript
javascript系统时间设置操作示例
Jun 17 Javascript
Layer+Echarts构建弹出层折线图的方法
Sep 25 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 #jQuery
详解如何使用 vue-cli 开发多页应用
Dec 16 #Javascript
详解VUE 数组更新
Dec 16 #Javascript
详解如何用模块化的方式写vuejs
Dec 16 #Javascript
浅谈 Vue 项目优化的方法
Dec 16 #Javascript
在vue-cli中组件通信的方法
Dec 16 #Javascript
动手写一个angular版本的Message组件的方法
Dec 16 #Javascript
You might like
PHP面向对象概念
2011/11/06 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
js代码实现轮播图
2020/05/04 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
Python assert关键字原理及实例解析
2019/12/13 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
党员培训思想汇报
2014/01/07 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
英语简历自我评价
2014/01/26 职场文书
调解员先进事迹材料
2014/02/07 职场文书
酒鬼酒广告词
2014/03/21 职场文书
我的长生果教学反思
2014/04/28 职场文书
激励口号大全
2014/06/17 职场文书
二年级作文之动物作文
2019/11/13 职场文书
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python