最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

如何使用Webpack的代码分离实现Vue的加载

来源:懂视网 责编:小采 时间:2020-11-27 19:32:46
文档

如何使用Webpack的代码分离实现Vue的加载

如何使用Webpack的代码分离实现Vue的加载:本篇文章给大家带来的内容是关于如何使用Webpack的代码分离实现Vue的加载,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。当一个Vue的项目体积变得十分庞大的时候,使用Webpack的代码分离功能将Vue Components,routes或Vuex
推荐度:
导读如何使用Webpack的代码分离实现Vue的加载:本篇文章给大家带来的内容是关于如何使用Webpack的代码分离实现Vue的加载,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。当一个Vue的项目体积变得十分庞大的时候,使用Webpack的代码分离功能将Vue Components,routes或Vuex

本篇文章给大家带来的内容是关于如何使用Webpack的代码分离实现Vue的加载,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

当一个Vue的项目体积变得十分庞大的时候,使用Webpack的代码分离功能将Vue ComponentsroutesVuex的代码进行分离并按需加载,会极大的提高App的首屏加载速度。

在Vue的项目中,我们可以在三种不同的情况下使用懒加载和代码分离功能:

  • Vue组件,也称为异步组件

  • Vue-Router

  • Vuex

  • 三者的共同点都是使用的动态import,这在Webpack的第二个版本就开始被支持。

    在Vue组件中进行懒加载

    在Eggheads中有关于使用Vue异步组件实现按需加载组件的解释。

    实现异步组件只需要使用import函数去注册组件即可:

    Vue.component('AsyncCmp', () => import('./AsyncCmp'))

    也可以使用本地注册组件的方式:

    new Vue({
     // ...
     components: {
     'AsyncCmp': () => import('./AsyncCmp')
     }
    })

    使用箭头函数指向import函数,Vue将会在需要该组件的时候才执行请求加载该组件的代码。

    如果导入的组件是使用命名的方式进行导出的,你可以在Promise的返回值中使用对象解构的方式实现按需加载组件。下面是加载KeenUI的 UiAlert组件的例子:

    components: {
     UiAlert: () => import('keen-ui').then(({ UiAlert }) => UiAlert)
    }

    在Vue router中进行懒加载

    Vue router在原生支持懒加载。和懒加载组件的方式一样,都是使用import函数。例如我们想在/login这个路由下懒加载Login组件。

    // 不再使用 import Login from './login'
    const Login = () => import('./login')
    
    new VueRouter({
     routes: [
     { path: '/login', component: Login }
     ]
    })

    在Vuex中进行懒加载

    Vuex的registerModule方法允许我们动态的创建Vuex的模块。如果我们使用import函数在Promise中返回模块作为载荷(payload),就实现了懒加载。

    const store = new Vuex.Store()
    
    ...
    
    // 假设我们想加载'login'这个模块
    import('./store/login').then(loginModule => {
     store.registerModule('login', loginModule)
    })

    总结

    在Vue + Webpack中是懒加载十分简单。赶快使用上面学习到的方法将你的Vue项目进行代码分离并在它们需要的时候进行按需加载,这样可以显著减少应用首屏加载的时间。

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    如何使用Webpack的代码分离实现Vue的加载

    如何使用Webpack的代码分离实现Vue的加载:本篇文章给大家带来的内容是关于如何使用Webpack的代码分离实现Vue的加载,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。当一个Vue的项目体积变得十分庞大的时候,使用Webpack的代码分离功能将Vue Components,routes或Vuex
    推荐度:
    标签: 加载 使用 VUE
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top