vue-cli 关闭热更新操作


Posted in Javascript onSeptember 18, 2020

vue 手脚架在使用过程中,更改代码会自动更新页面,非常的方便,但是有些情况向关闭掉这热更新功能,我使用的是vue-admin-template模板来开发的,所以更改也是基于这个模板的。

在build文件夹下有个webpack.dev.conf.js文件。

然后添加一个配置项:inline: false 即可关闭热更新操作。

vue-cli 关闭热更新操作

补充知识: vue多页面热更新缓慢原因以及解决方法

热更新慢的原因

多页面就是多入口,会生成多个html文件,之前我基本都是单页面,因为是单入口没有这个问题,当偶然间接触了一个多页面的项目发现了热更新很慢的问题,这当然很不舒服,就开始查方法,可能要2,3分钟,这个和webpack配置里面的 HtmlWebpackPlugin 插件性能有问题当生成html文件多的时候会很慢,越多越慢。原因就是这样,下面是解决方法。

解决方法

// An highlighted block
'use strict';
const path = require('path');
const glob = require('glob');
const config = require('../config');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin')

exports.getPages = function () {
 const pages = [];

 const globpath = './src/pages/personCenter1';
 const _pages = glob.sync(globpath);
 for (let page of _pages){
 pages.push({
  static:glob.sync(path.join(__dirname, '..', page) + '/static')[0], //各个static目录绝对路径
  name:path.basename(page),
  html:glob.sync(page + '/app.html')[0],
  js:page + '/app.js',
 })
 }
 return pages;
};

exports.getEntries = function () {
 const pages = exports.getPages();

 const entries = {};
 for (let page of pages) {
 entries[page.name] = page.js;
 }
 return entries;
};

exports.getHtmlWebpackPlugins = function () {
 const pages = exports.getPages();

 const htmls = [];
 let html;
 for (let page of pages) {
 html = new HtmlWebpackPlugin({
  filename: `${config.build.index}/${page.name}.html`,
  template: page.html || path.join(__dirname, '..', 'src/index1.html'),
  inject: true,
  chunks:['manifest', 'vendor', page.name],
  minify: {
  removeComments: true,
  collapseWhitespace: true,
  // removeAttributeQuotes: true
  removeAttributeQuotes: false
  },
  chunksSortMode: 'dependency'
 });
 htmls.push(html)
 }
 return htmls;
};

glob 在webpack中应用于文件的路径处理,当搭建多页面应用时就可以使用glob对页面需要打包文件的路径进行很好的处理,当然也能在热更新的时候控制局部哪个文件下更新。

exports.getPages = function () {
 const pages = [];

 const globpath = './src/pages/personCenter1';
 const _pages = glob.sync(globpath);
 for (let page of _pages){
 pages.push({
  static:glob.sync(path.join(__dirname, '..', page) + '/static')[0], //各个static目录绝对路径
  name:path.basename(page),
  html:glob.sync(page + '/app.html')[0],
  js:page + '/app.js',
 })
 }
 return pages;
};

globpath 就是你要更新的文件,例如:const globpath = ‘./src/pages/*'; 说明所有文件,这里我只是需要personCenter1下的文件,如果你开发另一个功能,那就把路径改为另一个文件路径,至此,解决。不足之处欢迎指出。

以上这篇vue-cli 关闭热更新操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
对联广告js flash激活
Oct 19 Javascript
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
Apr 01 Javascript
JavaScript 设计模式 安全沙箱模式
Sep 24 Javascript
js 利用image对象实现图片的预加载提高访问速度
Mar 29 Javascript
javascript为下拉列表动态添加数据项
May 23 Javascript
JavaScript计时器示例分析
Feb 05 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
Sep 28 Javascript
js实现多行文本框统计剩余字数功能
Mar 28 Javascript
Vue键盘事件用法总结
Apr 18 Javascript
angularjs中回车键触发某一事件的方法
Apr 24 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
vue-cli创建的项目中的gitHooks原理解析
Feb 14 Javascript
Node.JS如何实现JWT原理
Sep 18 #Javascript
浏览器JavaScript调试功能无法使用解决方案
Sep 18 #Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
Sep 18 #Javascript
js实现手表表盘时钟与圆周运动
Sep 18 #Javascript
javascript实现智能手环时间显示
Sep 18 #Javascript
javascript实现打砖块小游戏(附完整源码)
Sep 18 #Javascript
js实现拖拽与碰撞检测
Sep 18 #Javascript
You might like
显示程序执行时间php函数代码
2013/08/29 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
webpack多页面开发实践
2017/12/18 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
linux面试题参考答案(6)
2016/06/23 面试题
学校采购员岗位职责
2014/01/02 职场文书
教师开学感言
2014/02/14 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
大学军训感言400字
2014/03/11 职场文书
公司前台接待岗位职责
2015/04/03 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书