我正在尝试通过create react app project中的nginx为服务工作者设置缓存头,在配置中,我试过
location /service-worker.js {
add_header Cache-Control "no-cache";
proxy_cache_bypass $http_pragma;
proxy_cache_revalidate on;
expires off;
access_log off;
}
但是当我加载页面时,sw注册失败并显示消息。
A bad HTTP response code (404) was received when fetching the script.
registerServiceWorker.js:71 Error during service worker registration: TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script.
有人可以使用create-react-app建议使用nginx吗?
答案 0 :(得分:1)
根据您的配置service-worker.js
必须位于使用/
nginx指令定义的root
根目录中。
请检查文件是否存在。如果您使用express和express static并将文件放在public / assets目录中,那么它将无法正常工作。如果对于此文件,您希望具有不同的位置。你可以使用alias
指令。