这个方法适用于通过require.ensure或者import()懒加载的模块
chunk分init chunk,entry chunk,normal chunk
init chunk指代不包含runtime代码的chunk,
一般是通过webpack的entry配置的入口
entry chunk指代包含runtime代码的chunk,
一般通过commonchunkplugin处理以后的manifest文件就是entry chunk
normal chunk,剩下的都是normal chunk了,比如通过require.ensure加载的模块
ugly,竟然init chunk是配置的入口文件,而不是entry chunk
runtime代码指有关webpack定义的代码
参考:https://www.jianshu.com/p/d01aad3bd584?from=jiantop.com
// This file contains only the entry chunk. /******/ // The chunk loading function for additional chunks /******/ __webpack_require__.e = function requireEnsure(chunkId) { /******/ if(installedChunks[chunkId] === 0) /******/ return Promise.resolve(); /******/ /******/ // a Promise means "currently loading". /******/ if(installedChunks[chunkId]) { /******/ return installedChunks[chunkId][2]; /******/ } /******/ /******/ // setup Promise in chunk cache /******/ var promise = new Promise(function(resolve, reject) { /******/ installedChunks[chunkId] = [resolve, reject]; /******/ }); /******/ installedChunks[chunkId][2] = promise; /******/ /******/ // start chunk loading /******/ var head = document.getElementsByTagName('head')[0]; /******/ var script = document.createElement('script'); /******/ script.type = 'text/javascript'; /******/ script.charset = 'utf-8'; /******/ script.async = true; /******/ script.timeout = 120000; /******/ /******/ if (__webpack_require__.nc) { /******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ } /******/ script.src = __webpack_require__.p + "src/js/" + chunkId + "-" + {"0":"32730f8b347fb3516b62"}[chunkId] + ".js"; /******/ var timeout = setTimeout(onScriptComplete, 120000); /******/ script.onerror = script.onload = onScriptComplete; /******/ function onScriptComplete() { /******/ // avoid mem leaks in IE. /******/ script.onerror = script.onload = null; /******/ clearTimeout(timeout); /******/ var chunk = installedChunks[chunkId]; /******/ if(chunk !== 0) { /******/ if(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.')); /******/ installedChunks[chunkId] = undefined; /******/ } /******/ }; /******/ head.appendChild(script); /******/ /******/ return promise; /******/ };
涉及到三种赋值:
1.installedChunks[chunkId] = 0 2.installedChunks[chunkId] = undefined 3.installedChunks[chunkId] = [resolve, reject, promise]
第一种标识chunk已经通过scrpit标签加载完毕
第二种标识chunk加载失败了或者说从来没进行过加载
第三种标识加载进行中,通过promise向外暴露链式操作
相关推荐
Full_Webpack-45.4.2608-IT310_Full_Webpack.exe
Full_Webpack-1325-DJ1000_J110_Full_Webpack.exe
LJM227-M231_UWWL_4-1_UWWL_4_1_Full_WebPack_44.5.2694.exe
惠普2600系列驱动安装
惠普(MFP M281fdw)打印机驱动
LJM304-M305_U_Full_WebPack_48.3.4530.exe
标题中的"LJM253-M254_UW_Full_WebPack_44.3.2218.exe.zip"表明这是一个针对HP打印机LJM253和M254系列的全功能WebPack软件包,版本号为44.3.2218,并且已打包成ZIP格式。WebPack通常指的是包含网络功能的软件包,...
3. **Webpack 配置文件**(`webpack.config.js`): - `module.exports`:导出配置对象,包括 entry、output、module(含 loaders)、plugins 等字段。 - `resolve`:配置模块解析规则,如别名、模块查找路径等。 ...
HP LaserJet MFP M132nw 驱动,亲测好用,安装时可以自动识别局域网内的打印机,支持无线、USB、有线网络
惠普打印机驱动M132129-M132
HPEasyStart-11.5.18-DJ2700_51.2.4771_3_Full_Webpack.exe
Full_Webpack-46.5.2645-LJM28-M31_UWL_Full_Webpack.exe
Full_Webpack-51.3.4843-DJ1200_Full_Webpack.exe
HP- M28A M29A M28W 打印机驱动,内容全面,经测试,可以正常使用 惠普打印机连接驱动; 系统会自动搜索打印机的型号并匹配驱动,也可以在驱动列表中找到打印机的驱动,找到以后点击“下一步”安装即可。...
HP M253-M254_Full_Webpack.打印机驱动
惠普2132打印机驱动是由惠普官方2132打印机专用驱动程序,惠普2132喷墨一体机质量过硬,价格合理,支持日常打印、扫描和复印,在您开始打印前请安装本驱动程序,此驱动还包含2132所需的所有软件,有需要者欢迎下载!...
惠普打印机驱动程序,deskjet2130系列,用于链接CUPS共享打印机
比较全的AT COMMAND文档!适合GSM/WCDMA/TD等!
配置文件通常命名为webpack.config.js,在该文件中通过一个配置对象导出模块,该配置对象决定了打包器的行为。该配置对象可以包含多个属性,每个属性对应webpack的某个配置项,比如: - mode: 模式配置选项,可用于...
手把手搭建h5框架,webpack+jq 与webpack +vue。 1.初始化一个npm项目 2.安装pnpm 3.安装webpack webpack-cli 4.新建webpack.config.js配置文件 5.安装babel 详细安装方式,手把手教程见README.md文档