二十三(2)懒加载的概念 ------ 2019-07-14

一、代码:

async function getComponent() {
    const {
        default: _
    } =
    await import('lodash')
    const element = document.createElement('div');
    element.innerHTML = _.join(['Dell', 'Lee'], '-');
    return element;
}
document.addEventListener('click', () => {
    getComponent().then(element => {
        document.body.appendChild(element);
    })
})

这段代码的意思,首先定义了一个异步函数getComponent,在函数getComponent里通过import语法导入lodash模块,然后使用了lodash模块创建了一个div标签,最后通过body点击事件,将创建的div添加到document中;

二、当我们打包代码运行时会发现,lodash模块被分割成了单独的文件,


image.png

当我们打包好以后,运行项目时会发现,页面加载的时候,只加载了mai getComponent() {
const {
default: _
} =
await import('lodash')
const element = document.createElement('div');
element.innerHTML = _.join(['Dell', 'Lee'], '-');
return element;
}
document.addEventListener('click', () => {
getComponent().then(element => {
document.body.appendChild(element);
})
})

这段代码的意思,首先定义了一个异步函数getComponent,在函数getComponent里通过import语法导入lodash模块,然后使用了lodash模块创建了一个div标签,最后通过body点击事件,将创建的div添加到document中;

二、当我们打包代码运行时会发现,lodash模块被分割成了单独的文件,
![image.png](https://upload-images.jianshu.io/upload_images/8436665-c8a658aa79ea055e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
当我们打包好以后,运行项目时会发现,页面加载的时候,只加载了main.js,只有当我们执行点击事件的时候,vendors.js才会加载;这就是所谓的懒加载,可以有效的降低页面的初始化时间和加载速度;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,023评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,684评论 1 92
  • 结合网上和个人总结,仅供参考。 1、HTML&CSS: 1、DOM结构 —— 两个节点之间可能存在哪些关系以及如何...
    FredericaJ阅读 9,379评论 3 7
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,802评论 1 32
  • 作者:小 boy (沪江前端开发工程师)本文原创,转载请注明作者及出处。原文地址:https://www.smas...
    iKcamp阅读 7,657评论 0 18