webpack异步加载文件的方式

Posted 等风来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack异步加载文件的方式相关的知识,希望对你有一定的参考价值。

1. import 

import(/* webpackPrefetch: true,webpackChunkName: "yourFileName",webpackPreload: true */ ‘LoginModal‘)
import ( /* webpackChunkName: "yourFileName" */ filePath);
import ( /* webpackChunkName: "lodash" */ ‘lodash‘).then(({
        default: _
    }) => {
        console.log(_)
    }).catch(error => ‘An error occurred while loading the component‘);

2. require.ensure

//将A单独打包
require.ensure([],()=>{
    require(A)
},"bundleA");

//将A,B打包到一起,而且从主文件束中拆分出来。但只有 b.js 的内容被执行。a.js //的内容仅仅是可被使用,但并没有被输出。
//想去执行 a.js,我们需要异步地引用它,如 require(‘./a.js’),让它的 JavaScritp 被执行。
require.ensure([A],()=>{
    require(B)
},bundleAB)

3. bundle-loader

本质上对require.ensure的包装,需要在配置文件中配置,使用不够灵活,对ES6支持也不好,不推荐

webpack所有的异步加载模块方式,都是调用__webpack_require__.e方法,就是requireEnsure方法,使用JSONP来加载异步文件。

以上是关于webpack异步加载文件的方式的主要内容,如果未能解决你的问题,请参考以下文章

webpack性能优化:分隔/分包/异步加载+组件与路由懒加载

Webpack 异步加载及分包策略

webpack异步加载原理及分包策略

vue路由自动加载、按组件异步载入vuex以及dll优化

黄聪:不使用 webpack,vuejs 异步加载模板

require.ensure的用法;异步加载-代码分割;