입구의 웹packJsonpCallback

1917 단어 webpack
각각chunk의 입구 함수는 기본적으로 세 가지 일을 했다. 예를 들어 app에 대한 것이다.js
webpackJsonpCallback([0,1], {
  2: function(){}, 
  3:function(){}
}, [2]);

 1.chunk1은 chunk0에 의존할 수 있습니다. chunk0을 먼저 실행해야 할 수도 있고, chunk0이 이미 실행되었을 수도 있기 때문에 판단이 필요합니다.
 2.모듈 = 2/3 정의를modules 대상에 저장
 3.모듈 = 2의 모듈 코드를 실행하고 세 개의 매개 변수를 주입합니다
 
첫 번째 설명:
요구 사항을 통과하고 있습니다.ensure가 불러올 때 0이 불러오는 중일 수도 있고 chunk0 밑에 콜백이 많이 걸려 있습니다. chunk0resolve에서 실행해야 합니다. 그 후에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

좋은 웹페이지 즐겨찾기