美文网首页
webpack 懒加载篇

webpack 懒加载篇

作者: MrAlexLee | 来源:发表于2019-12-28 16:05 被阅读0次

prefetch 和 preload

1,prefetch 是父 chunk 加载完成后,再加载。preload chunk 在父 chunk 加载时,以并行方式加载。

2,prefetch 是在浏览器闲置网络空闲的时候加载,preload 和父 chunk 一起加载

@babel/plugin-syntax-dynamic-import

这是动态引入异步代码的插件,能够提高网络加载 JS 文件的代码使用率。举个栗子:

我们在 index.js 文件中写入下面的代码:

document.addEventListener('click ' ,function(){
    const element = document.createElement('div');
    element.innerHTML = 'welcome to webpack4.x';
    documen.body.appendChild(element)
} )

点击以后里面的代码是异步执行的,也就是在加载的首屏的时候,实际上有很多代码是没有触发的,只有当用户进行某种操作后,才会触发,那么这些代码就可以通过在 webpack 里面配置插件进行优化。

优化方式如下:

我们可以把function 抽取出来放到单独的文件export 出来,然后再在 index.js 文件中引入:

//click.js

function handleClick(){
    const element = document.createElement('div');
    element.innerHTML = 'welcome to webpack4.x';
    documen.body.appendChild(element)
}
export default handleClick;
document.addEventListener('click ' ,function(){
    import( ' ./click.js ' ).then(({default:func}))=>{
        func()
    }
} )

如此操作后我们可以通过打开浏览器检查,点击 network,找到 coverage 以后,点击执行可以明显看到打包后的 JS 代码使用率提高了。

那么这种方式可能会导致一个问题,可能用户触发在某个异步加载的模块上的时候白屏,那么我们这时候就需要预加载,意思就是首屏加载后我们悄悄加载异步的模块,配置只需要在异步模块上添加代码如下:

document.addEventListener('click ' ,function(){
    import( /* webpackPrefetch: true */ ' ./click.js ' ).then(({default:func}))=>{
        func()
    }
} )

/* webpackPrefetch: true */ 这段代码会生成

<link rel='prefetch ' href='xxx-chunk.js ' > 

并且追加到页面头部,提示着浏览器在闲置时间预取xxx-chunk.js 文件。

相关文章

  • webpack 懒加载篇

    prefetch 和 preload 1,prefetch 是父 chunk 加载完成后,再加载。preload ...

  • 用webpack实现模块懒加载、预取/预加载

    模块懒加载本身与webpack没有关系,webpack可以让懒加载的模块代码打包到单独的文件中,实现真正的按需加载...

  • webpack vue 异步组件加载 按需加载

    webpack分包:减少首屏加载时间-路由懒加载 使用webpack中的syntax-dynamic-import...

  • webpack打包代码实现

    webpack模块加载 异步模块加载 通过 import()实现指定模块的懒加载操作 懒加载的核心原理就是创建js...

  • webpack打包优化 - 懒加载

    webpack 懒加载 分割代码会产生chunk,异步加载的时候也会产生chunk 引入动态数据 -> 懒加载(当...

  • 懒加载

    知识点 webpack代码拆分动态倒入懒加载 1.懒加载 懒加载我们都知道,不即时加载所有资源,而是在需要的时候才...

  • Vue路由异步组件

    vue异步组件和懒加载可以优化vue的性能 一、 原理 利用webpack对代码进行分割是懒加载的前提,懒加载就是...

  • vue 懒加载

    懒加载 为什么需要懒加载? 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大...

  • webpack 懒加载

    使用 import 的动态引入方式,实现代码分割并异步的加载相应的内容具体步骤如下 1、安装 @babel/plu...

  • vue异步组件 懒加载& webpack按需加载——性能优化

    利用webpack对代码进行分割是懒加载的前提,懒加载就是异步调用组件,需要时候才下载(按需加载)。 为什么需要懒...

网友评论

      本文标题:webpack 懒加载篇

      本文链接:https://www.haomeiwen.com/subject/jrpsoctx.html