解决vue单页面应用进入页面加载所有 js 的问题


Posted in Javascript onAugust 12, 2020

一般在index.js中都是这么引入的组件

import from '@/pages/my'
import Cart from '@/pages/cart'
import Order from '@/pages/order'
import TMap from '@/pages/map'
import New from '@/pages/new'

换成这样就好啦

const My = r => require.ensure([], () => r(require('@/pages/my')), 'my')
const Cart = r => require.ensure([], () => r(require('@/pages/cart')), 'cart')
const Order = r => require.ensure([], () => r(require('@/pages/order')), 'order')
const TMap = r => require.ensure([], () => r(require('@/pages/map')), 'map')
const New = r => require.ensure([], () => r(require('@/pages/new')), 'new')

补充知识:vue -- router路由跳转错误 , NavigationDuplicated

vue-router ≥3.0版本回调形式以及改成promise api的形式了,返回的是一个promise,如果路由地址跳转相同, 且没有捕获到错误,控制台始终会出现如图所示的警告 (注:3.0以下版本则不会出现以下警告!!!,因路由回调问题…)

方案一:

安装vue-router3.0以下版本:先卸载3.0以上版本然后再安装旧版本 npm install @vue-router2.8.0 -S

方案二:

针对于路由跳转相同的地址添加catch捕获一下异常:this.$router.push('/location').catch(err => { console.log(err) })

方案三:

在main.js下注册一个全局函数即可

import Router from 'vue-router'

const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err)
}

注:官方vue-router新版本路由默认回调返回的都是promise,原先就版本的路由回调将废弃!!!!

以上这篇解决vue单页面应用进入页面加载所有 js 的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
May 07 Javascript
javascript面向对象编程代码
Dec 19 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
Nov 07 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
用户代理字符串userAgent可实现的四个识别
Sep 20 Javascript
JavaScript中两个字符串的匹配
Jun 08 Javascript
PhotoSwipe异步动态加载图片方法
Aug 25 Javascript
基于Layer+jQuery的自定义弹框
May 26 Javascript
详解在 Angular 项目中添加 clean-blog 模板
Jul 04 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
在vue中阻止浏览器后退的实例
Nov 06 Javascript
vue设置默认首页的操作
Aug 12 #Javascript
vue-cli打包后本地运行dist文件中的index.html操作
Aug 12 #Javascript
浅谈vue中resetFields()使用注意事项
Aug 12 #Javascript
VUE 实现element upload上传图片到阿里云
Aug 12 #Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
Aug 12 #Javascript
vue-router 2.0 跳转之router.push()用法说明
Aug 12 #Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 #Javascript
You might like
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
JavaScript 基础问答三
2008/12/03 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
原生js实现吸顶效果
2017/03/13 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
js 闭包深入理解与实例分析
2020/03/19 Javascript
Python获取Linux系统下的本机IP地址代码分享
2014/11/07 Python
分享Python文本生成二维码实例
2016/01/06 Python
python PyTorch预训练示例
2018/02/11 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
python 实现有道翻译功能
2021/02/26 Python
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
实习自我鉴定范文
2013/10/30 职场文书
应届大学生简历中的自我评价
2014/01/15 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
芙蓉镇观后感
2015/06/10 职场文书
优秀员工演讲稿
2019/06/21 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书