Open punyfish opened 3 months ago
这里主要是由于加载哪些 scripts 是支持配置的,比如配置 ["main.js", "chunk.js"] 实际会通过这个名字找到对于的 hash 资源路径加载。
一般不会在 index.html 中输出多个 chunk-xxx.js 初始加载时一次性加载的,多个 chunk 都是延迟加载的,不知道你的具体场景是什么? 如果这个场景没有覆盖到,可以考虑如何支持一下
这里主要是由于加载哪些 scripts 是支持配置的,比如配置 ["main.js", "chunk.js"] 实际会通过这个名字找到对于的 hash 资源路径加载。
一般不会在 index.html 中输出多个 chunk-xxx.js 初始加载时一次性加载的,多个 chunk 都是延迟加载的,不知道你的具体场景是什么? 如果这个场景没有覆盖到,可以考虑如何支持一下
angular17采用@angular-builders/custom-esbuild:application进行打包时候发现:index.html中会加载多个chunk-xxx.js。新项目从qiankun改为拥抱ngx-planet了!
膜拜大佬,求解惑。看了下面这段源码,发现把hash去掉了,导致chunk-xxx.js只会加载一个。这里冒昧的问下,为何要result[ext ?
${name}.${ext}
: name] = assetsTag;。文件名相同hash后缀不同的不加载,这样会导致有些js不会加载parseManifestFromHTML(html: string): Record<string, AssetsTagItem> { const result: Record<string, AssetsTagItem> = {}; const matchResult = html.match(STYLE_LINK_OR_SCRIPT_REG); matchResult.forEach(item => { const linkOrSrcResult = item.match(LINK_OR_SRC_REG); if (linkOrSrcResult && linkOrSrcResult[2]) { const src = linkOrSrcResult[2]; const hashName = getResourceFileName(src); let barSplitIndex = hashName.indexOf('-'); let dotSplitIndex = hashName.indexOf('.'); const splitIndex = barSplitIndex > -1 ? barSplitIndex : dotSplitIndex; if (splitIndex > -1) { const name = hashName.slice(0, splitIndex); const ext = getExtName(hashName); const assetsTag: AssetsTagItem = { src: src }; result[ext ?
${name}.${ext}` : name] = assetsTag;