当前位置:首页 > VUE

node实现vue页面缓存

2026-01-22 02:14:17VUE

使用 keep-alive 组件实现缓存

在 Vue 中,可以通过 <keep-alive> 组件缓存动态组件或路由组件。在 template 中包裹需要缓存的组件:

<template>
  <keep-alive>
    <router-view v-if="$route.meta.keepAlive" />
  </keep-alive>
  <router-view v-if="!$route.meta.keepAlive" />
</template>

配置路由元信息

在 Vue Router 的路由配置中,通过 meta 字段标记需要缓存的页面:

const routes = [
  {
    path: '/page1',
    component: Page1,
    meta: { keepAlive: true } // 启用缓存
  },
  {
    path: '/page2',
    component: Page2,
    meta: { keepAlive: false } // 不缓存
  }
];

结合 Vue 生命周期钩子

被缓存的组件会触发 activateddeactivated 钩子,可用于数据刷新或清理:

export default {
  activated() {
    // 组件被激活时调用(从缓存中恢复)
    this.fetchData();
  },
  deactivated() {
    // 组件被停用时调用(进入缓存)
    this.clearTimer();
  }
};

动态控制缓存

通过 v-ifinclude/exclude 属性动态管理缓存:

<keep-alive :include="['Page1', 'Page2']">
  <router-view />
</keep-alive>
  • include:匹配组件名的白名单
  • exclude:匹配组件名的黑名单

Node 服务端配合

若需 SSR(服务端渲染),需在服务端模拟客户端缓存行为。例如,使用 lru-cache 库:

const LRU = require('lru-cache');
const cache = new LRU({ max: 100 });

app.use((req, res, next) => {
  const key = req.url;
  if (cache.has(key)) {
    return res.send(cache.get(key));
  }
  // 未命中缓存时继续渲染
  next();
});

缓存策略优化

  • 按需缓存:结合路由守卫动态设置 meta.keepAlive
  • 缓存清理:通过 this.$destroy() 强制销毁组件实例。
  • SSR 缓存:根据用户会话或页面特征设置缓存键,避免数据污染。

注意事项

  • 缓存可能导致内存增长,需合理设置缓存上限。
  • 表单输入等状态会被保留,需手动重置或监听路由变化。
  • 动态组件(如 :is)的缓存需确保组件名稳定。

node实现vue页面缓存

标签: 缓存页面
分享给朋友:

相关文章

vue实现引导页面

vue实现引导页面

vue实现引导页面的方法 使用Vue实现引导页面可以通过多种方式完成,以下是几种常见的方法: 使用第三方库driver.js 安装driver.js库: npm install driver.j…

vue实现的页面

vue实现的页面

Vue 实现的页面示例 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是一个简单的 Vue 页面实现示例,包含基本的结构和功能。 安装 Vue 通过 CDN 引入…

vue实现预约页面

vue实现预约页面

实现预约页面的基本结构 使用Vue CLI或Vite创建一个新项目,安装必要依赖如vue-router和axios。项目结构建议包含components文件夹存放可复用组件,views文件夹存放页面级…

vue文件实现页面跳转

vue文件实现页面跳转

使用 router-link 实现跳转 在 Vue 模板中直接使用 <router-link> 组件,通过 to 属性指定目标路径: <router-link to="/ta…

h5实现登录页面跳转

h5实现登录页面跳转

实现登录页面跳转的基本方法 使用HTML5和JavaScript实现登录页面跳转,可以通过表单提交或JavaScript事件触发。以下是几种常见方式: 表单提交跳转 在HTML中创建一个表单,通过a…

h5页面实现vr

h5页面实现vr

实现H5页面VR效果的方法 在H5页面中实现VR(虚拟现实)效果,可以通过以下几种技术方案实现: 使用WebVR API WebVR是一个实验性的JavaScript API,提供了访问VR设备的…