/**/n * 生成 JSONP 加载 chunk 的函数/n * /n * @returns {string} 返回生成的函数代码/n *//ngenerate() {/n/t// 从 this 中获取 chunkGraph, compilation, chunk/n/tconst { chunkGraph, compilation, chunk } = this;/n/n/t// 从 compilation 中获取 runtimeTemplate, chunkLoadingGlobal, hotUpdateGlobal, crossOriginLoading 和 scriptType/n/tconst {/n/t/truntimeTemplate,/n/t/toutputOptions: {/n/t/t/tchunkLoadingGlobal,/n/t/t/thotUpdateGlobal,/n/t/t/tcrossOriginLoading,/n/t/t/tscriptType/n/t/t}/n/t} = compilation;/n/n/t// 获取全局对象/n/tconst globalObject = runtimeTemplate.globalObject;/n/n/t// 获取 linkPreload 和 linkPrefetch/n/tconst { linkPreload, linkPrefetch } =/n/t/tJsonpChunkLoadingRuntimeModule.getCompilationHooks(compilation);/n/n/t// 获取 RuntimeGlobals 中的常量/n/tconst fn = RuntimeGlobals.ensureChunkHandlers;/n/tconst withBaseURI = this._runtimeRequirements.has(RuntimeGlobals.baseURI);/n/tconst withLoading = this._runtimeRequirements.has(/n/t/tRuntimeGlobals.ensureChunkHandlers/n/t);/n/tconst withCallback = this._runtimeRequirements.has(/n/t/tRuntimeGlobals.chunkCallback/n/t);/n/tconst withOnChunkLoad = this._runtimeRequirements.has(/n/t/tRuntimeGlobals.onChunksLoaded/n/t);/n/tconst withHmr = this._runtimeRequirements.has(/n/t/tRuntimeGlobals.hmrDownloadUpdateHandlers/n/t);/n/tconst withHmrManifest = this._runtimeRequirements.has(/n/t/tRuntimeGlobals.hmrDownloadManifest/n/t);/n/tconst withPrefetch = this._runtimeRequirements.has(/n/t/tRuntimeGlobals.prefetchChunkHandlers/n/t);/n/tconst withPreload = this._runtimeRequirements.has(/n/t/tRuntimeGlobals.preloadChunkHandlers/n/t);/n/n/t// 获取 chunkLoadingGlobalExpr 和 hasJsMatcher/n/tconst chunkLoadingGlobalExpr = ${globalObject}[${JSON.stringify(/n/t/tchunkLoadingGlobal/n/t)}];/n/tconst conditionMap = chunkGraph.getChunkConditionMap(chunk, chunkHasJs);/n/tconst hasJsMatcher = compileBooleanMatcher(conditionMap);/n/n/t// 获取 initialChunkIds 和 stateExpression/n/tconst initialChunkIds = getInitialChunkIds(chunk, chunkGraph, chunkHasJs);/n/tconst stateExpression = withHmr/n/t/t? ${RuntimeGlobals.hmrRuntimeStatePrefix}_jsonp/n/t/t: undefined;/n/n/t// 返回生成的函数代码/n/treturn Template.asString([/n/t/twithBaseURI/n/t/t/t? Template.asString([/n/t/t/t/t/t${RuntimeGlobals.baseURI} = document.baseURI || self.location.href;/n/t/t/t])/n/t/t/t: '// no baseURI',/n/t/t'',/n/t/t'// object to store loaded and loading chunks',/n/t/t'// undefined = chunk not loaded, null = chunk preloaded/prefetched',/n/t/t'// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded',/n/t/tvar installedChunks = ${stateExpression ? ${stateExpression} = ${stateExpression} || : ''}{,/n/t/tTemplate.indent(/n/t/t/tArray.from(initialChunkIds, id => ${JSON.stringify(id)}: 0).join(/n/t/t/t/t',/n/t/t/t')/n/t/t),/n/t/t'};',/n/t/t'',/n/t/twithLoading/n/t/t/t? Template.asString([/n/t/t/t/t${fn}.j = ${runtimeTemplate.basicFunction(/n/t/t/t/t/t'chunkId, promises',/n/t/t/t/t/thasJsMatcher !== false/n/t/t/t/t/t/t? Template.indent([/n/t/t/t/t/t/t/t/t'// JSONP chunk loading for javascript',/n/t/t/t/t/t/t/t/tvar installedChunkData = ${RuntimeGlobals.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;,/n/t/t/t/t/t/t/t/t'if(installedChunkData !== 0) { // 0 means 'already installed'.',/n/t/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/t/t'',/n/t/t/t/t/t/t/t/t/t'// a Promise means 'currently loading'.',/n/t/t/t/t/t/t/t/t/t'if(installedChunkData) {',/n/t/t/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/t/t/t'promises.push(installedChunkData[2]);'/n/t/t/t/t/t/t/t/t/t]),/n/t/t/t/t/t/t/t/t/t'} else {',/n/t/t/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/t/t/thasJsMatcher === true/n/t/t/t/t/t/t/t/t/t/t/t? 'if(true) { // all chunks have JS'/n/t/t/t/t/t/t/t/t/t/t/t: if(${hasJsMatcher('chunkId')}) {,/n/t/t/t/t/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/t/t/t/t/t'// setup Promise in chunk cache',/n/t/t/t/t/t/t/t/t/t/t/t/tvar promise = new Promise(${runtimeTemplate.expressionFunction(/n/t/t/t/t/t/t/t/t/t/t/t/t/tinstalledChunkData = installedChunks[chunkId] = [resolve, reject],/n/t/t/t/t/t/t/t/t/t/t/t/t/t'resolve, reject'/n/t/t/t/t/t/t/t/t/t/t/t/t)});,/n/t/t/t/t/t/t/t/t/t/t/t/t'promises.push(installedChunkData[2] = promise);',/n/t/t/t/t/t/t/t/t/t/t/t/t'',/n/t/t/t/t/t/t/t/t/t/t/t/t'// start chunk loading',/n/t/t/t/t/t/t/t/t/t/t/t/tvar url = ${RuntimeGlobals.publicPath} + ${RuntimeGlobals.getChunkScriptFilename}(chunkId);,/n/t/t/t/t/t/t/t/t/t/t/t/t'// create error before stack unwound to get useful stacktrace later',/n/t/t/t/t/t/t/t/t/t/t/t/t'var error = new Error();',/n/t/t/t/t/t/t/t/t/t/t/t/tvar loadingEnded = ${runtimeTemplate.basicFunction(/n/t/t/t/t/t/t/t/t/t/t/t/t/t'event',/n/t/t/t/t/t/t/t/t/t/t/t/t/t[/n/t/t/t/t/t/t/t/t/t/t/t/t/t/tif(${RuntimeGlobals.hasOwnProperty}(installedChunks, chunkId)) {,/n/t/t/t/t/t/t/t/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'installedChunkData = installedChunks[chunkId];',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'if(installedChunkData !== 0) installedChunks[chunkId] = undefined;',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'if(installedChunkData) {',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'var errorType = event && (event.type === 'load' ? 'missing' : event.type);',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'var realSrc = event && event.target && event.target.src;',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'error.message = 'Loading chunk ' + chunkId + ' failed.//n(' + errorType + ': ' + realSrc + ')';',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'error.name = 'ChunkLoadError';',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'error.type = errorType;',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'error.request = realSrc;',/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'installedChunkData1;'/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t])/n/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t'}' /n/t/t/t/t/t/t/t/t/t/t/t/t/t/t]),/n/t/t/t/t/t/t/t/t/t/t/t/t/t'}' /n/t/t/t/t/t/t/t/t/t/t/t/t] /n/t/t/t/t/t/t/t/t/t/t/t/t)});,/n/t/t/t/t/t/t/t/t/t/t/t/t${RuntimeGlobals.loadScript}(url, loadingEnded, 'chunk-' + chunkId, chunkId);/n/t/t/t/t/t/t/t/t/t/t/t])/n/t/t/t/t/t/t/t/t/t/t/t, '} else installedChunks[chunkId] = 0;'/n/t/t/t/t/t/t/t/t/t])/n/t/t/t/t/t/t/t/t/t},/n/t/t/t/t/t/t/t/t'}' /n/t/t/t/t/t/t/t])/n/t/t/t/t/t/t: Template.indent(['installedChunks[chunkId] = 0;'])/n/t/t/t/t/t)};/n/t/t/t])/n/t/t/t: '// no chunk on demand loading',/n/t/t'',/n/t/twithPrefetch && hasJsMatcher !== false/n/t/t/t? ${RuntimeGlobals.prefetchChunkHandlers}.j = ${runtimeTemplate.basicFunction('chunkId', [/n/t/t/t/t/tif((!${RuntimeGlobals.hasOwnProperty}(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && ${hasJsMatcher === true ? 'true' : hasJsMatcher('chunkId')}) {,/n/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t'installedChunks[chunkId] = null;'/n/t/t/t/t/t/t,linkPrefetch.call(/n/t/t/t/t/t/t/tTemplate.asString([/n/t/t/t/t/t/t/t/t'var link = document.createElement('link');',/n/t/t/t/t/t/t/t/tcrossOriginLoading/n/t/t/t/t/t/t/t/t/t? link.crossOrigin = ${JSON.stringify(crossOriginLoading)};/n/t/t/t/t/t/t/t/t/t: '',/n/t/t/t/t/t/t/t/tif (${RuntimeGlobals.scriptNonce}) {,/n/t/t/t/t/t/t/t/tTemplate.indent(/n/t/t/t/t/t/t/t/t/tlink.setAttribute('nonce', ${RuntimeGlobals.scriptNonce});/n/t/t/t/t/t/t/t/t),/n/t/t/t/t/t/t/t/t'}',/n/t/t/t/t/t/t/t/t'link.rel = 'prefetch';',/n/t/t/t/t/t/t/t/t'link.as = 'script';',/n/t/t/t/t/t/t/t/tlink.href = ${RuntimeGlobals.publicPath} + ${RuntimeGlobals.getChunkScriptFilename}(chunkId);/n/t/t/t/t/t/t/t])/n/t/t/t/t/t/t/t, chunk/n/t/t/t/t/t/t),/n/t/t/t/t/t/t'document.head.appendChild(link);'/n/t/t/t/t/t]),/n/t/t/t/t/t'}' /n/t/t/t/t])};/n/t/t/t: '// no prefetching',/n/t/t'',/n/t/twithPreload && hasJsMatcher !== false/n/t/t/t? ${RuntimeGlobals.preloadChunkHandlers}.j = ${runtimeTemplate.basicFunction('chunkId', [/n/t/t/t/t/tif((!${RuntimeGlobals.hasOwnProperty}(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && ${hasJsMatcher === true ? 'true' : hasJsMatcher('chunkId')}) {,/n/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t'installedChunks[chunkId] = null;'/n/t/t/t/t/t/t,linkPreload.call(/n/t/t/t/t/t/t/tTemplate.asString([/n/t/t/t/t/t/t/t/t'var link = document.createElement('link');',/n/t/t/t/t/t/t/t/tscriptType/n/t/t/t/t/t/t/t/t/t? link.type = ${JSON.stringify(scriptType)};/n/t/t/t/t/t/t/t/t/t: '',/n/t/t/t/t/t/t/t/t'link.charset = 'utf-8';',/n/t/t/t/t/t/t/t/tif (${RuntimeGlobals.scriptNonce}) {,/n/t/t/t/t/t/t/t/tTemplate.indent(/n/t/t/t/t/t/t/t/t/tlink.setAttribute('nonce', ${RuntimeGlobals.scriptNonce});/n/t/t/t/t/t/t/t/t),/n/t/t/t/t/t/t/t/t'}',/n/t/t/t/t/t/t/t/t'link.rel = 'preload';',/n/t/t/t/t/t/t/t/t'link.as = 'script';',/n/t/t/t/t/t/t/t/tlink.href = ${RuntimeGlobals.publicPath} + ${RuntimeGlobals.getChunkScriptFilename}(chunkId);,/n/t/t/t/t/t/t/t/tcrossOriginLoading/n/t/t/t/t/t/t/t/t/t? Template.asString([/n/t/t/t/t/t/t/t/t/t/t'if (link.href.indexOf(window.location.origin + '/') !== 0) {',/n/t/t/t/t/t/t/t/t/t/tTemplate.indent(/n/t/t/t/t/t/t/t/t/t/t/tlink.crossOrigin = ${JSON.stringify(crossOriginLoading)};/n/t/t/t/t/t/t/t/t/t/t),/n/t/t/t/t/t/t/t/t/t/t'}' /n/t/t/t/t/t/t/t/t/t])/n/t/t/t/t/t/t/t/t/t: ''/n/t/t/t/t/t/t/t])/n/t/t/t/t/t/t/t, chunk/n/t/t/t/t/t/t),/n/t/t/t/t/t/t'document.head.appendChild(link);'/n/t/t/t/t/t]),/n/t/t/t/t/t'}' /n/t/t/t/t])};/n/t/t/t: '// no preloaded',/n/t/t'',/n/t/twithHmr/n/t/t/t? Template.asString([/n/t/t/t/t'var currentUpdatedModulesList;',/n/t/t/t/t'var waitingUpdateResolves = {};',/n/t/t/t/t'function loadUpdateChunk(chunkId) {',/n/t/t/t/tTemplate.indent([/n/t/t/t/t/treturn new Promise(${runtimeTemplate.basicFunction(/n/t/t/t/t/t/t'resolve, reject',/n/t/t/t/t/t/t[/n/t/t/t/t/t/t/t'waitingUpdateResolves[chunkId] = resolve;',/n/t/t/t/t/t/t/t'// start update chunk loading',/n/t/t/t/t/t/t/tvar url = ${RuntimeGlobals.publicPath} + ${RuntimeGlobals.getChunkUpdateScriptFilename}(chunkId);,/n/t/t/t/t/t/t/t'// create error before stack unwound to get useful stacktrace later',/n/t/t/t/t/t/t/t'var error = new Error();',/n/t/t/t/t/t/t/tvar loadingEnded = ${runtimeTemplate.basicFunction('event', [/n/t/t/t/t/t/t/t/t'if(waitingUpdateResolves[chunkId]) {',/n/t/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/t/t'waitingUpdateResolves[chunkId] = undefined',/n/t/t/t/t/t/t/t/t/t'var errorType = event && (event.type === 'load' ? 'missing' : event.type);',/n/t/t/t/t/t/t/t/t/t'var realSrc = event && event.target && event.target.src;',/n/t/t/t/t/t/t/t/t/t'error.message = 'Loading hot update chunk ' + chunkId + ' failed.//n(' + errorType + ': ' + realSrc + ')';',/n/t/t/t/t/t/t/t/t/t'error.name = 'ChunkLoadError';',/n/t/t/t/t/t/t/t/t/t'error.type = errorType;',/n/t/t/t/t/t/t/t/t/t'error.request = realSrc;',/n/t/t/t/t/t/t/t/t/t'reject(error);'/n/t/t/t/t/t/t/t/t])/n/t/t/t/t/t/t/t/t}' /n/t/t/t/t/t/t/t])};,/n/t/t/t/t/t/t/t${RuntimeGlobals.loadScript}(url, loadingEnded);/n/t/t/t/t/t/t] /n/t/t/t/t/t)});/n/t/t/t/t]),/n/t/t/t/t'}',/n/t/t/t/t'',/n/t/t/t/t${globalObject}[${JSON.stringify(hotUpdateGlobal)}] = ${runtimeTemplate.basicFunction(/n/t/t/t/t/t'chunkId, moreModules, runtime',/n/t/t/t/t/t[/n/t/t/t/t/t/t'for(var moduleId in moreModules) {',/n/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/tif(${RuntimeGlobals.hasOwnProperty}(moreModules, moduleId)) {,/n/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/t'currentUpdate[moduleId] = moreModules[moduleId];',/n/t/t/t/t/t/t/t/t'if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);'/n/t/t/t/t/t/t/t])/n/t/t/t/t/t/t/t}' /n/t/t/t/t/t/t]),/n/t/t/t/t/t/t'}',/n/t/t/t/t/t/t'if(runtime) currentUpdateRuntime.push(runtime);',/n/t/t/t/t/t/t'if(waitingUpdateResolves[chunkId]) {',/n/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t'waitingUpdateResolves[chunkId]();',/n/t/t/t/t/t/t/t'waitingUpdateResolves[chunkId] = undefined;'/n/t/t/t/t/t/t])/n/t/t/t/t/t/t}' /n/t/t/t/t/t] /n/t/t/t/t)};,/n/t/t/t/t'',/n/t/t/t/tTemplate.getFunctionContent(/n/t/t/t/t/trequire('../hmr/JavascriptHotModuleReplacement.runtime.js')/n/t/t/t/t)/n/t/t/t/t/t.replace(//$key/$/g, 'jsonp')/n/t/t/t/t/t.replace(//$installedChunks/$/g, 'installedChunks')/n/t/t/t/t/t.replace(//$loadUpdateChunk/$/g, 'loadUpdateChunk')/n/t/t/t/t/t.replace(//$moduleCache/$/g, RuntimeGlobals.moduleCache)/n/t/t/t/t/t.replace(//$moduleFactories/$/g, RuntimeGlobals.moduleFactories)/n/t/t/t/t/t.replace(/n/t/t/t/t/t/t//$ensureChunkHandlers/$/g,/n/t/t/t/t/t/tRuntimeGlobals.ensureChunkHandlers/n/t/t/t/t/t)/n/t/t/t/t/t.replace(//$hasOwnProperty/$/g, RuntimeGlobals.hasOwnProperty)/n/t/t/t/t/t.replace(//$hmrModuleData/$/g, RuntimeGlobals.hmrModuleData)/n/t/t/t/t/t.replace(/n/t/t/t/t/t/t//$hmrDownloadUpdateHandlers/$/g,/n/t/t/t/t/t/tRuntimeGlobals.hmrDownloadUpdateHandlers/n/t/t/t/t/t)/n/t/t/t/t/t.replace(/n/t/t/t/t/t/t//$hmrInvalidateModuleHandlers/$/g,/n/t/t/t/t/t/tRuntimeGlobals.hmrInvalidateModuleHandlers/n/t/t/t/t/t)/n/t/t/t])/n/t/t/t: '// no HMR',/n/t/t'',/n/t/twithHmrManifest/n/t/t/t? Template.asString([/n/t/t/t/t${RuntimeGlobals.hmrDownloadManifest} = ${runtimeTemplate.basicFunction('', [/n/t/t/t/t/t'if (typeof fetch === 'undefined') throw new Error('No browser support: need fetch API');',/n/t/t/t/t/treturn fetch(${RuntimeGlobals.publicPath} + ${RuntimeGlobals.getUpdateManifestFilename}()).then(${runtimeTemplate.basicFunction('response', [/n/t/t/t/t/t/t'if(response.status === 404) return; // no update available',/n/t/t/t/t/t/t'if(!response.ok) throw new Error('Failed to fetch update manifest ' + response.statusText);',/n/t/t/t/t/t/t'return response.json();'/n/t/t/t/t/t])});/n/t/t/t/t])};/n/t/t/t])/n/t/t/t: '// no HMR manifest',/n/t/t'',/n/t/twithOnChunkLoad/n/t/t/t? ${RuntimeGlobals.onChunksLoaded}.j = ${runtimeTemplate.returningFunction(/n/t/t/t/t/t'installedChunks[chunkId] === 0',/n/t/t/t/t/t'chunkId'/n/t/t/t/t)};/n/t/t/t: '// no on chunks loaded',/n/t/t'',/n/t/twithCallback || withLoading/n/t/t/t? Template.asString([/n/t/t/t/t'// install a JSONP callback for chunk loading',/n/t/t/t/tvar webpackJsonpCallback = ${runtimeTemplate.basicFunction(/n/t/t/t/t/t'parentChunkLoadingFunction, data',/n/t/t/t/t/t[/n/t/t/t/t/t/truntimeTemplate.destructureArray(/n/t/t/t/t/t/t/t['chunkIds', 'moreModules', 'runtime'],/n/t/t/t/t/t/t/t'data'/n/t/t/t/t/t/t),/n/t/t/t/t/t/t'// add 'moreModules' to the modules object,', /n/t/t/t/t/t/t'// then flag all 'chunkIds' as loaded and fire callback',/n/t/t/t/t/t/t'var moduleId, chunkId, i = 0;',/n/t/t/t/t/t/tif(chunkIds.some(${runtimeTemplate.returningFunction(/n/t/t/t/t/t/t/t'installedChunks[id] !== 0',/n/t/t/t/t/t/t/t'id'/n/t/t/t/t/t/t)})) {,/n/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t'for(moduleId in moreModules) {',/n/t/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t/tif(${RuntimeGlobals.hasOwnProperty}(moreModules, moduleId)) {,/n/t/t/t/t/t/t/t/tTemplate.indent(/n/t/t/t/t/t/t/t/t/t${RuntimeGlobals.moduleFactories}[moduleId] = moreModules[moduleId];/n/t/t/t/t/t/t/t/t),/n/t/t/t/t/t/t/t/t'}' /n/t/t/t/t/t/t/t]),/n/t/t/t/t/t/t/t'}',/n/t/t/t/t/t/t/t'if(runtime) var result = runtime(__webpack_require__);' /n/t/t/t/t/t/t]),/n/t/t/t/t/t/t'}',/n/t/t/t/t/t/t'if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);',/n/t/t/t/t/t/t'for(;i < chunkIds.length; i++) {',/n/t/t/t/t/t/tTemplate.indent([/n/t/t/t/t/t/t/t'chunkId = chunkIds[i];',/n/t/t/t/t/t/t/tif(${RuntimeGlobals.hasOwnProperty}(installedChunks, chunkId) && installedChunks[chunkId]) {,/n/t/t/t/t/t/t/tTemplate.indent('installedChunks[chunkId][0]();'),/n/t/t/t/t/t/t/t'}',/n/t/t/t/t/t/t/t'installedChunks[chunkIds[i]] = 0;'/n/t/t/t/t/t/t]),/n/t/t/t/t/t/t'}',/n/t/t/t/t/t/twithOnChunkLoad/n/t/t/t/t/t/t/t? return ${RuntimeGlobals.onChunksLoaded}(result);/n/t/t/t/t/t/t/t: ''/n/t/t/t/t/t] /n/t/t/t/t)},/n/t/t/t/t'',/n/t/t/t/tvar chunkLoadingGlobal = ${chunkLoadingGlobalExpr} = ${chunkLoadingGlobalExpr} || [];,/n/t/t/t/t'chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));',/n/t/t/t/t'chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));' /n/t/t/t])/n/t/t/t: '// no jsonp function' /n/t]);/n}/n

JavaScript JSONP Chunk 加载函数代码生成

原文地址: https://www.cveoy.top/t/topic/oLjo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录