我正在使用create-react-app实用程序创建一个ReactJS应用程序.如何配置它以使用包含服务工作者的文件?
编辑:从Javascript方面对我来说很清楚,在我的index.js中添加注册:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./service_workers/sw.js')
.then(function(registration) {
// Registration was successful...
}).catch(function(err) {
// registration failed ...
});
}
Run Code Online (Sandbox Code Playgroud)
然后我的服务工作文件中的配置(对我来说是在service_wokers/sw.js):
self.addEventListener('install', function(event) {//my code here...});
self.addEventListener('activate', function(event) {//my code here...});
self.addEventListener('fetch', function(event) {//my code here...});
Run Code Online (Sandbox Code Playgroud)
当我运行此控制台时,控制台显示:ServiceWorker注册失败:DOMException:无法注册ServiceWorker:获取脚本时收到错误的HTTP响应代码(404).
该文件不存在,因为我没有配置Webpack来执行此操作.所以我试图用ouput复制sw.js文件:
test:
/\.(js)$/,
loader: "file?name=[path][name].[ext]&context=./service_workers",
include: '/service_worker'
Run Code Online (Sandbox Code Playgroud)
我认为没有必要说我对Webpack完全不熟悉.