You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生产环境下Spartacus未启用PWA却遇Service Worker注册404错误求解决

解决未启用PWA却出现Service Worker注册失败404的问题

我之前也碰到过一模一样的情况!明明没打算用PWA功能,浏览器却一个劲地请求ngsw-worker.js还报404错误。下面是几个亲测有效的解决办法,按优先级尝试:

  • 检查Angular项目配置:如果你用的是Angular,大概率是angular.json里的配置残留导致的。打开这个文件,找到你的项目节点,检查architect > build > options里有没有"serviceWorker": true,把它改成false;同时如果有"ngswConfigPath"这个配置项,直接删除掉。重新构建部署后,这个请求就会消失。

  • 清除浏览器站点缓存:如果之前你的项目曾经启用过PWA,浏览器会保留注册Service Worker的记录,哪怕你后来移除了相关配置,它还是会尝试重新注册。解决办法是:

    • Chrome:进入「设置 > 隐私和安全 > 网站设置 > 查看所有网站数据和权限」,找到你的域名,删除对应的站点数据
    • Firefox:进入「设置 > 隐私与安全 > Cookie和站点数据 > 管理数据」,搜索并删除你的站点数据
  • 排查index.html中的残留代码:检查项目的index.html文件,有没有手动添加过注册Service Worker的脚本,比如类似这样的代码:

    if ('serviceWorker' in navigator) {
      navigator.serviceWorker.register('/ngsw-worker.js')
    }
    

    如果有,直接删除这段代码即可。

  • 检查第三方依赖:有些第三方库(比如部分统计工具、缓存优化插件)可能会自动尝试注册Service Worker。排查一下你最近新增的依赖,查看它们的文档,找到禁用自动注册Service Worker的配置项。

补充说明

这个问题的核心原因是:即使你没有主动启用PWA,Angular的默认配置变更、历史部署的缓存残留,或者第三方依赖的隐式操作,都可能触发浏览器发起Service Worker的注册请求,当服务器上不存在ngsw-worker.js时,就会抛出404错误。

内容的提问来源于stack exchange,提问作者Bohdan Shuliaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 17:48:12