创建react app service worker nginx no cache配置

时间:2018-02-01 13:43:17

标签: facebook nginx service-worker create-react-app

我正在尝试通过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吗?

1 个答案:

答案 0 :(得分:1)

根据您的配置service-worker.js必须位于使用/ nginx指令定义的root根目录中。

请检查文件是否存在。如果您使用express和express static并将文件放在public / assets目录中,那么它将无法正常工作。如果对于此文件,您希望具有不同的位置。你可以使用alias指令。