vue项目热更新的坑及解决

目录
  • vue项目热更新坑
  • vue项目热更新慢
    • 查找热更新慢是哪里慢—分析原因
    • 解决办法

vue项目热更新坑

今天在使用vue-cli构造的vue项目时,遇到一个坑。

setInterval(() => {
  console.log('This is one.')
}, 10000)

运行后如下:

这时我们修改其中的代码,不刷新网页:

setInterval(() => {
  console.log('This is two.')
}, 1000)

结果如下,发现之前的计时函数以久存在,热更新 !== 刷新页面 !!!谨记

vue项目热更新慢

突然有一天,vue项目跑着跑着,热更新的时候卡到75%的地方卡好久,一个热更新要10几秒,这简直耽误开发进度,不能忍,怎么办呢?

查找热更新慢是哪里慢—分析原因

针对这个分析了一下热更新慢的原因,步骤如下

首先先在package中的启动命令加上

--progress --watch --colors --profile

先解释一下这几个参数的含义

  • –progress 构建进度
  • –watch 实时监测
  • –profile 编译过程中的步骤耗时时间

加上这个配置,重启项目,就可以看到耗时了

解决办法

图中红色框出来的地方耗时最严重,也就是卡到75%的地方耗时最严重,肿么办呢?

问度娘,大神们说,这样做

1、安装babel-plugin-dynamic-import-node插件

$ npm install babel-plugin-dynamic-import-node

2、.babelrc文件里添加配置dynamic-import-node

公司项目脚手架为vue-cli2.0

所以在.babelrc文件里添加配置dynamic-import-node

网上的大神们说,加上就好了,很兴奋,终于可以好了,然而,我再跑一遍项目,还是一样,还是蜗牛的速度,还是卡在75%。。。。。。心塞~~~~~~~

3、改变路由懒加载方式

求助了个大神,大神说是路由太多了,是呀,项目越来越多了,肿么办,让试一下用import 懒加载路由,因为我现在用的是require懒加载路由的,如下图

把下图中require方式换成import方式

项目再跑一遍,1、2秒就热更新成功~~泪崩,终于好了,纠其原因,我猜的是安装的插件babel-plugin-dynamic-import-node,与import路由加载方式配套使用才能发挥期作用,搞定,撒花·······

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue-cli3 热更新配置操作

    问题: 在使用vue-cli3搭建项目之后,发现修改.vue文件里面的内容之后,页面不会自动刷新. 解决方案: 只需要在vue.config.js文件中配置一下就可以实现热更新了,如下: chainWebpack: config => { // 修复HMR config.resolve.symlinks(true); }, 是的就是这么简单. 修改一下标签里面的内容,ok可以自动更新.开森!!! 好像有点开心的太早,修改css部分的内容并没有自动更新,原来的vue.config.js中的css配

  • 浅谈VUE-CLI脚手架热更新太慢的原因和解决方法

    用vue-cli构建了项目之后在webstorm开发,用npm run dev跑本地服务,经常修改之后在浏览器刷新没反应,偶尔才会有刷新,需要重新跑一遍npm run dev才会更新,这是怎么回事呢? 解决方法 webstorm保存的时候会先保存到旧时文件中,其实并没有真正保存,要在setting->stystem settings下的"use save write"去掉 以上这篇浅谈VUE-CLI脚手架热更新太慢的原因和解决方法就是小编分享给大家的全部内容了,希望能给大家一个参

  • Vue Vite热更新不起作用的正确解决办法

    目录 解决方案: 正确示例: 错误示例: 注意: 附:vue3+vite不热更新的解决方案 总结 解决方案: 提示:文件夹名称严格注意大小写 router 路由中名称 和文件夹(目录), 文件名需要保证大小写一致 正确示例: { path: 'show', component: () => import("@/views/show/index.vue"), } show 目录名index.vue 文件名这样大小写都是与路由中一致的就不会出现问题 错误示例: { path: 'sh

  • vue-cli 关闭热更新操作

    vue 手脚架在使用过程中,更改代码会自动更新页面,非常的方便,但是有些情况向关闭掉这热更新功能,我使用的是vue-admin-template模板来开发的,所以更改也是基于这个模板的. 在build文件夹下有个webpack.dev.conf.js文件. 然后添加一个配置项:inline: false 即可关闭热更新操作. 补充知识: vue多页面热更新缓慢原因以及解决方法 热更新慢的原因 多页面就是多入口,会生成多个html文件,之前我基本都是单页面,因为是单入口没有这个问题,当偶然间接触了

  • Vuejs开发环境搭建及热更新【推荐】

     Vue.js Vue.js是目前很火的一个前端框架,采用MVVM模式设计,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使用,特别适合单页应用的开发. Vue.js是数据驱动的,它通过一些特殊的语法,将DOM和数据绑定起来,无需手动操作DOM.一旦创建了绑定,DOM将和数据保持同步,每当变更了数据,DOM也会相应地更新. 一.安装NPM 1.1最新稳定版本: npm install vue 二.命令行工具

  • 关于vue-cli3+webpack热更新失效及解决

    目录 vue-cli3+webpack热更新失效 1.说下起因 2.解决方案 不能进行热更新问题 解决办法 vue-cli3+webpack热更新失效 1.说下起因 A项目中遇到问题,热更新失效,百思不得其解,查询搜索vuecli3热更新失效.vue histroy 模式热更新失效,网上看到不少方法,npm重新安装,不要用淘宝镜像cnpm安装:npm安装yarn,再用yarn重新install,yarn serve启动,在npm run serve 启动等方法都不好用. github有类似问题h

  • 解决vuecli3.0热更新失效的问题

    webpack的热更新可以说极大地提高了前端的开发效率,以下就是本人遇到的针对vuecli热更新失效的解决方法: 1.检查控制台,编译的时候是否有警告,警告很可能导致热更新的失效 2.vueCli3.0及以上的版本,注意不要用cnpm安装依赖包,要用npm 以上这篇解决vuecli3.0热更新失效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • vue项目热更新的坑及解决

    目录 vue项目热更新坑 vue项目热更新慢 查找热更新慢是哪里慢—分析原因 解决办法 vue项目热更新坑 今天在使用vue-cli构造的vue项目时,遇到一个坑. setInterval(() => { console.log('This is one.') }, 10000) 运行后如下: 这时我们修改其中的代码,不刷新网页: setInterval(() => { console.log('This is two.') }, 1000) 结果如下,发现之前的计时函数以久存在,热更新 !=

  • 使用IDEA工具配置和运行vue项目及遇到的坑

    刚来公司实习发现公司的前端使用的是vue,之前根本就没有听说过.然后一上来就需要看代码,but but 就是没有文档什么的东西,就需要自己去研读,我就想去运行其中的前端和后端联调起来方便理解,结果在配置和运行中出现了很多挫折,我就想写一下方便 大家不去采坑,直接运行好 一.在IDEA中配置vue插件 点击File-->Settings-->Plugins-->搜索vue.js插件进行安装,下面的图中我已经安装好了. 二.搭建node.js环境 安装node.js 可以去官网下载:安装过程

  • vue项目无法删除的问题及解决

    目录 vue项目无法删除 vue新增与删除问题 vue项目无法删除 问题 今天删除本地的vue项目,一直提示“操作无法完成,因为其中的文件夹或文件已在另一个程序组打开,请关闭该文件夹或文件,然后重试”. 但是相关的软件我都关闭了,还是不行.如图 解决 我们ctrl+alt+delete打开任务管理器,点击详细信息,找到node.exe 右击选择结束任务,然后点击结束进程,然后就可以成功删除项目了. vue新增与删除问题 <template>   <div>     <ul v

  • Vue项目报错:parseComponent问题及解决

    目录 Vue项目报错:parseComponent 报错内容 解决步骤 Vue常见错误及解决办法 1.在配置路由并引入组件后 2.在组件中的标签和样式中图片路径出错时 3.在组件中标签没有闭合 4.在使用less定义变量是报错 本地开发环境请求服务器接口跨域的问题 Vue项目报错:parseComponent 报错内容 ERROR  Failed to compile with 1 error                                                    

  • vue项目使用websocket连接问题及解决

    目录 vue使用websocket连接 前景 解决过程 vue2全局使用websocket记录 新建ws模块文件 在main.js中引用ws模块文件 App.vue挂载时再次连接服务器并且接收消息 vue使用websocket连接 前景 公司做一个包含websocket的项目,我用的是vue做的,开始只有一个组件的要求demo,就将websocket的配置直接放在组件方法中,组件挂载时直接初始化ws,但是后续组件增加,开始出现多个websocket链接的情况,是不允许的. 刚开始的做法是将web

  • vue项目打包后打开页面空白解决办法

    网上很多说自己的VUE项目通过Webpack打包生成的list文件,放到HBulider打包后,通过手机打开一片空白.这个主要原因是路径的问题. 1.记得改一下config下面的index.js中bulid模块导出的路径.因为index.html里边的内容都是通过script标签引入的,而你的路径不对,打开肯定是空白的.先看一下默认的路径. module.exports = { build: { env: require('./prod.env'), index: path.resolve(__

  • nodemon实现Typescript项目热更新的示例代码

    我们都知道nodemon可以直接用来在开发环境下运行js文件,可以在文件改变时自动刷新和重启服务器.但是最近刚好在学typescript,所以就想使用ts来写,也想达到同样的效果,总结一下方法,大概有如下几种: nodemon+tsc: 这个方法很简单,首先通过tsc将我们的ts文件编译到dist目录下,然后再通过nodemon直接运行dist目录下的文件即可.至于ts的输出目录相关配置可在tsconfig.js中设置. tsc && nodemon --watch dist/index.

  • 使用vue导出excel遇到的坑及解决

    目录 vue导出excel遇到的坑 需求 准备工作 vue导出excel表报错处理 vue导出excel遇到的坑 需求 Vue+element UI el-table下的导出当前所有数据到一个excel文件里. 先按照网上的方法,看看有哪些坑 准备工作 1.安装依赖:yarn add xlsx file-saver -S 2.在放置需要导出功能的组件中引入 import FileSaver from "file-saver"; import XLSX from "xlsx&q

  • mui-player自定义底部导航在vue项目中显示不出来的解决

    目录 mui-player自定义底部导航在vue项目中显示不出 效果图 总结 mui-player自定义底部导航在vue项目中显示不出 看了作者的源码和案例等,先上代码: <template> <div class="content-box"> <div class="container"> <div>视频插件 mui-player</div> <div id="mui-player&quo

随机推荐