Vue路由(Router)实现懒加载

了解懒加载如何通过按需加载内容,有效减轻首页加载压力,改善用户体验。懒加载技术在单页应用中的应用,能显著减少首页加载时间,提高网站响应速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“懒加载也叫延迟加载,即在需要的时候进行加载,随用随载。在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,延时过长,不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时。”

按需加载写法:

  require(["src/xx/xxx/xx.vue"], resolve);
            }

转自:https://segmentfault.com/a/1190000011426274?utm_source=tag-newest

VueRouter 路由懒加载可以通过动态导入的方式实现,即在路由定义时通过 import() 函数异步加载组件。这样当用户访问该路由时,组件才会被加载,从而减少了首次加载时的文件大小和加载时间,提高了页面加载速度。 具体实现步骤如下: 1. 在路由定义时,将组件定义为一个函数,该函数通过 import() 函数动态加载组件。 ```js const router = new VueRouter({ routes: [ { path: '/about', component: () => import('./views/About.vue') } ] }) ``` 2. 在 webpack 中配置 babel-plugin-syntax-dynamic-import 插件,以支持 import() 函数动态导入语法。 ```js // webpack.config.js module.exports = { // ... module: { rules: [ // ... { test: /\.js$/, loader: 'babel-loader', options: { plugins: ['syntax-dynamic-import'] } } ] } } ``` 3. 在生产环境中开启路由懒加载,可以通过 webpack 的 SplitChunksPlugin 插件将路由组件打包成单独的文件,从而实现按需加载。 ```js // webpack.config.js const path = require('path') const { CleanWebpackPlugin } = require('clean-webpack-plugin') const HtmlWebpackPlugin = require('html-webpack-plugin') const MiniCssExtractPlugin = require('mini-css-extract-plugin') module.exports = { mode: 'production', entry: './src/main.js', output: { path: path.resolve(__dirname, 'dist'), filename: '[name].[contenthash].js', chunkFilename: '[name].[contenthash].js' }, module: { rules: [ // ... ] }, plugins: [ new CleanWebpackPlugin(), new HtmlWebpackPlugin({ template: './public/index.html' }), new MiniCssExtractPlugin({ filename: '[name].[contenthash].css' }) ], optimization: { splitChunks: { chunks: 'all' } } } ``` 这样就可以实现 VueRouter 路由懒加载了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值