vue解决使用webpack打包后keep-alive不生效的方法


Posted in Javascript onSeptember 01, 2018

问题是这样的,我使用webpack的npm run dev运行的时候,keep-alive路由缓存是有效的,但是我npm run build,把文件放到实际的项目中去的时候,会有如下的问题:

路由如下:

var menus = [
 {
  path: '/user',
  name: '用户',
  component: '/user',
  redirect: '/user/index1',
  icon: 'fa-bandcamp',
  meta: {
   keepAlive: false
  },
  children: [
   { path: 'index1', component: '/user/index1', name: '用户管理1', meta: {keepAlive: true}},
   { path: 'index2', component: '/user/index2', name: '用户管理2', meta: {keepAlive: true}},
  ]
 },{
  path: '/system',
  name: 'system',
  component: '/system',
  redirect: '/system/index',
  icon: 'fa-superpowers',
  noDropdown: true,
  meta: {
   keepAlive: false
  },
  children: [
   { path: 'index', component: '/system/index', name: '系统管理', meta: {keepAlive: true}},
  ]
 },
]

我在 /user/index1 和/user/index2 之间做切换的时候路由缓存还是生效的,但是在user和system之间切换的时候就不生效了,解决方法如下,也解释不清楚什么原因,可能生产环境下需要在路由的文件上面做缓存把

在route目录下新建两个文件:

_import_development.js

module.exports = file => require('@/views/' + file + '.vue')

_import_production.js

module.exports = file => () => import('@/views/' + file + '.vue')

原先路由import的时候是这样的:

import Home from '@/views/home/homeView'

现在改成这样:

const _import = require('./_import_' + process.env.NODE_ENV);
const Login = _import('index/loginView')

重新打包运行生效!

以上这篇vue解决使用webpack打包后keep-alive不生效的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何判断鼠标是否在DIV的区域内
Nov 13 Javascript
JS正则表达式比较常见用法
Jan 26 Javascript
论JavaScript模块化编程
Mar 07 Javascript
jQuery操作属性和样式详解
Apr 13 Javascript
基于JS实现无缝滚动思路及代码分享
Jun 07 Javascript
JavaScript使用readAsDataURL读取图像文件
May 10 Javascript
原生JS实现自定义滚动条效果
Oct 27 Javascript
微信小程序实现图片放大预览功能
Oct 22 Javascript
vue弹窗插件实战代码
Sep 08 Javascript
浅谈Three.js截图并下载的大坑
Nov 01 Javascript
浅谈JavaScript节流和防抖函数
Aug 25 Javascript
js中Object.create实例用法详解
Oct 05 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
Sep 01 #Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 #jQuery
vue初始化动画加载的实例
Sep 01 #Javascript
jQuery解析json格式数据示例
Sep 01 #jQuery
vue+vue-router转场动画的实例代码
Sep 01 #Javascript
Vue-router 切换组件页面时进入进出动画方法
Sep 01 #Javascript
vue 实现在函数中触发路由跳转的示例
Sep 01 #Javascript
You might like
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
php实现网站留言板功能
2015/11/04 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
python三元运算符实现方法
2013/12/17 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
python斐波那契数列的计算方法
2018/09/27 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
python3图片文件批量重命名处理
2019/10/31 Python
Python绘图实现显示中文
2019/12/04 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
廉政教育的心得体会
2014/09/01 职场文书
个人租房协议书
2014/11/28 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript