解决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 相关文章推荐
javascript jQuery插件练习
Dec 24 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
Apr 05 Javascript
window.opener用法和用途实例介绍
Aug 19 Javascript
JavaScript中用于生成随机数的Math.random()方法
Jun 15 Javascript
js简单网速测试方法完整实例
Dec 15 Javascript
基于javascript实现简单计算器功能
Jan 03 Javascript
javascript实现label标签跳出循环操作
Mar 06 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
Nov 25 Javascript
微信小程序模板之分页滑动栏
Feb 10 Javascript
react redux入门示例
Apr 19 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
May 07 Javascript
axios如何利用promise无痛刷新token的实现方法
Aug 27 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
使用javascript实现雪花飘落的效果
2015/01/13 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
python函数返回多个值的示例方法
2013/12/04 Python
零基础写python爬虫之神器正则表达式
2014/11/06 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
对Django外键关系的描述
2019/07/26 Python
基于python中__add__函数的用法
2019/11/25 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
pandas数据处理之绘图的实现
2020/06/15 Python
python实现在线翻译
2020/06/18 Python
python interpolate插值实例
2020/07/06 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
初婚初育证明
2014/01/14 职场文书
运动会广播稿60字
2014/01/15 职场文书
副总经理任命书
2014/06/05 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书