我正在使用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 ...
});
}
那么我的服务工作者文件中的配置(对我来说是在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...});
当我运行这个时,控制台显示:
ServiceWorker注册失败:DOMException:在获取脚本时收到错误的HTTP响应代码(404)。
因为我没有配置Webpack来处理文件,所以文件不存在。 所以我正在尝试通过输出复制sw.js文件。test:
/\.(js)$/,
loader: "file?name=[path][name].[ext]&context=./service_workers",
include: '/service_worker'
我认为没有必要说我对Webpack完全是新手。