已部署项目新窗口打开组件路由失效,发布构建参数问题问询
问题根因排查优先级(从高到低)
以下是发布构建参数中可能导致新窗口资源/路由无法正常加载的配置项:
baseHref: "."
该配置将应用的资源基准路径设为相对路径,浏览器会基于当前页面的URL层级请求静态资源。新打开的窗口如果路由路径和父页面存在层级差,就会导致HTML、JS等核心资源的请求路径错误,直接返回404无法加载。本地构建默认使用/作为基准路径,属于绝对根路径,因此不会出现寻址错误。outputHashing: "all"+namedChunks: false
开启全资源哈希后缀后,所有打包生成的静态文件都会添加随机哈希戳,同时关闭命名Chunk后所有代码块不再使用可读的固定名称,最终生成的文件名和本地构建完全不同。如果你的新窗口打开逻辑存在硬编码的资源路径、或者手动依赖固定名称的Chunk文件,生产构建后就会找不到对应资源。fileReplacements环境替换
生产构建会替换为environment.prod.ts,需要确认该配置文件内的应用根路径、路由基础配置和本地环境是否一致,错误的生产环境路径配置会直接导致路由寻址失败。optimization.scripts: true+buildOptimizer: true
脚本压缩和构建优化过程会混淆、删除未被引用的全局变量和方法,如果你的新窗口初始化逻辑依赖了未被正确导出的全局变量,优化后逻辑会直接报错导致页面无法正常渲染。
内容的提问来源于stack exchange,提问作者DevilDeVille
相关产品推荐
相关产品推荐

