MyException - 我的异常网
当前位置:我的异常网» Web前端 » 通道口之webpackJsonpCallback

香港六合彩六合跟踪:通道口之webpackJsonpCallback

香港六合彩现场直播 www.hppyv.com  网友分享于:2018-06-08  浏览:0次
入口之webpackJsonpCallback

香港六合彩现场直播 www.hppyv.com 每个chunk的入口函数,基本上做了三件事,比如针对app.js

webpackJsonpCallback([0,1], {
  2: function(){}, 
  3:function(){}
}, [2]);

?1.chunk1有可能依赖chunk0,要先执行chunk0,也有可能chunk0已经执行过了,所以需要判断

?2.将module = 2/3 的定义保存在modules对象中

?3.执行module = 2的??榈拇?,注入三个参数

?

对于第一点说明:

在通过require.ensure加载的时候,的确有可能0正在加载中,并且chunk0下边挂在了很多callback,需要在chunk0 resolve的时候去执行,此后才能执行chunk1的代码逻辑,所以添加判断,并且手动执行时必要的

我也没见过场景。。。

?

/******/ 	var parentJsonpFunction = window["webpackJsonp"];
/******/ 	window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {
/******/ 		// add "moreModules" to the modules object,
/******/ 		// then flag all "chunkIds" as loaded and fire callback
/******/ 		var moduleId, chunkId, i = 0, resolves = [], result;
/******/ 		for(;i < chunkIds.length; i++) {
/******/ 			chunkId = chunkIds[i];
/******/ 			if(installedChunks[chunkId])
/******/ // 此处installedChunkds[chunkId] = [resolve, reject, promise],
         // 在__webpack_require__.e函数定义的
/******/ 				resolves.push(installedChunks[chunkId][0]);
/******/ 			installedChunks[chunkId] = 0;
/******/ 		}
/******/ 		for(moduleId in moreModules) {
/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ 				modules[moduleId] = moreModules[moduleId];
/******/ 			}
/******/ 		}
/******/ 		if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);
/******/ 		while(resolves.length)
/******/ 			resolves.shift()();
/******/ 		if(executeModules) {
/******/ 			for(i=0; i < executeModules.length; i++) {
/******/ 				result = __webpack_require__(__webpack_require__.s = executeModules[i]);
/******/ 			}
/******/ 		}
/******/ 		return result;
/******/ 	};

?

ds

?

文章评论

软件开发程序错误异常香港六合彩现场直播Copyright © 2009-2015 MyException 版权所有
740| 332| 614| 393| 261| 14| 489| 748| 764| 452|