我在GitHub回购源中尝试过searching的功能,但是由于某种原因,我找不到webpackJsonp()
函数的定义。
我知道我可以使用webpackJsonp([], null, ["moduleId"])
来通过id返回一个模块,但是我想知道这个函数实际上是做什么的,并学到了我可以做的一切。
编辑:我还想了解__webpack_require__.c
和__webpack_require__.m
(在代码here中找到了一些注释)。
答案 0 :(得分:0)
根据Petr的评论,似乎该函数通常是用以下代码生成的:
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]) {
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;
};
3个参数名称和源代码上的注释非常有见地。