• Vue 路由&组件懒加载(按需加载)


    当打包构建应用时,Javascript 包会变得非常大,影响页面加载速度。使用Vue路由懒加载和组件懒加载可以提升页面加载速度,减少白屏时间,提升用户体验。

    用法有如下三种:(路由懒加载与组件懒加载用法相同)

    1. Vue异步组件技术

    import Vue from 'vue'
    import Router from 'vue-router'
    Vue.use(Router)
    export default new Router({
      routes:[{
          path:'/';
          name:'home',
          component:resolve=>(require(["@/components/Home"],resolve))
        }]
    })

    2.ES提案的import()方法  推荐使用此方法

    import Vue from 'vue'
    import Router from 'vue-router'
    Vue.use(Router)
    const Home = () => import("@/components/Home");
    export default new Router({   routes:[     {       path:'/';       name:'home',       component:Home     }   ] })

    把组件按组分块:

    有时候我们想把某个路由下的所有组件都打包在同个异步块(chunk)中,只需要使用命名chunk,一个特殊的注释语法来提供chunk name(需要Webpack > 2.4)

    const Foo = () => import(/* webpackChunkName: 'group-foo' */ './Foo') 
    const Bar = () => import(/* webpackChunkName: 'group-foo' */ './Bar')
    const Baz = () => import(/* webpackChunkName: 'group-foo' */ './Baz')

    注意:chunk name一定要加引号(单引号双引号都可以)否则webpack不能识别chunk name,会默认按[id]显示,打出来的包的名字会是 0.js,1.js……

    以上3行代码指定了相同的webpackChunkName,会合并打包成一个js文件,组件按组分块。

    同时我们需要手动配置webpack.base.conf.js,output增加一行chunkFilename

    module.exports = {
      // JS 执行入口文件
      entry: {
        main: './main.js',
      },
      output: {
        // 为从 entry 中配置生成的 Chunk 配置输出文件的名称
        filename: '[name].js',
        // 为动态加载的 Chunk 配置输出文件的名称
        chunkFilename: '[name].js',
      }
    };

     3.webpack官方推荐

    import Vue from 'vue'
    import Router from 'vue-router'
    Vue.use(Router)

    //r 就是resolve。 同时指定了chunk name为"group",会打包到一个js文件中,按组分块 const Home
    = r => require.ensure([],() => r(require("@/components/Home")),'group');
    const About = r => require.ensure([],() => r(require("@/components/About")),'group');
    export default new Router({
      routes:[
        {
          path:'/';
          name:'home',
          component:Home
        },
        {
          path:'/about';
          name:'about',
          component:About
        }
      ] })
  • 相关阅读:
    azure 控制台小工具
    azure flask 测试
    azure django bug
    Ubuntu 18.04中使用Mac OS风格的Dock启动器替换左侧面板
    刚安装的程序要卸载,如何Ubuntu查看程序安装记录
    Ubuntu添加字体
    Ubuntu下的图形化多线程下载器XDM
    Linux命令行基础操作
    linux使用管理员权限打开一个文件管理器(右键root打开文件)
    ubuntu美化1——主题、图标、dock(dock相当于windows的开始菜单和任务栏)
  • 原文地址:https://www.cnblogs.com/AIonTheRoad/p/11165288.html
Copyright © 2020-2023  润新知