解决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 相关文章推荐
SeaJS入门教程系列之使用SeaJS(二)
Mar 03 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
Mar 05 Javascript
js实现拖拽效果
Feb 12 Javascript
JavaScript获取网页中第一个图片id的方法
Apr 03 Javascript
jquery实现删除一个元素后面的所有元素功能
Dec 21 Javascript
javascript实现简易计算器的代码
May 31 Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 Javascript
深入掌握 react的 setState的工作机制
Sep 27 Javascript
搭建vue开发环境
Jul 19 Javascript
php结合js实现多条件组合查询
May 28 Javascript
Node 使用express-http-proxy 做api网关的实现
Oct 15 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
在PHP中使用模板的方法
2008/05/24 PHP
php adodb分页实现代码
2009/03/19 PHP
php中将网址转换为超链接的函数
2011/09/02 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
基于原生JS实现图片裁剪
2016/08/01 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
Python二分查找详解
2015/09/13 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
基于python实现查询ip地址来源
2020/06/02 Python
python中yield的用法详解
2021/01/13 Python
西尔斯百货官网:Sears
2016/09/06 全球购物
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
地理科学专业毕业生求职信
2013/10/15 职场文书
九年级数学教学反思
2014/02/02 职场文书
个人投资计划书
2014/05/01 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
禁止酒驾标语
2014/06/25 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
Go 中的空白标识符下划线
2022/03/25 Golang
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android