Angular 如何在index.html.2中包含src/directory中的service worker js文件
我正试图在Angular 2中为PWA安排一名服务人员。我目前在src/assets/js中有service-worker.js文件,我可以将其包含在index.html中,并提供以下内容:Angular 如何在index.html.2中包含src/directory中的service worker js文件,angular,service-worker,progressive-web-apps,angular-service-worker,Angular,Service Worker,Progressive Web Apps,Angular Service Worker,我正试图在Angular 2中为PWA安排一名服务人员。我目前在src/assets/js中有service-worker.js文件,我可以将其包含在index.html中,并提供以下内容: <script> if ('serviceWorker' in navigator) { navigator.serviceWorker.register('/assets/js/service-worker.js').then(function(registration) { co
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/assets/js/service-worker.js').then(function(registration) {
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}).catch(function(err) {
console.log('ServiceWorker registration failed: ', err);
});
}
</script>
if(导航器中的“serviceWorker”){
register('/assets/js/service worker.js')。然后(函数(注册){
console.log('ServiceWorker注册成功,作用域:',registration.scope);
}).catch(函数(err){
console.log('ServiceWorker注册失败:',错误);
});
}
问题是我得到了错误
未捕获(承诺中)错误:请求http://localhost:4200/assets/js/src/index.html?_sw-precache=5bad745861375765f6cd0b9440666847返回状态为404的响应
这是因为index.html不位于/assets/js/src。如果我尝试将service-worker.js文件移动到src/我会在js文件本身上得到一个404错误,因为我猜Angular 2 dev服务器没有接收到它?有人知道怎么解决这个问题吗
编辑:我正在使用angular cli将
service worker.js
文件移动到src/
并更改angular cli配置
.angular cli.json
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico",
"service-worker.js" <==== add this
],
“应用程序”:[
{
“根”:“src”,
“outDir”:“dist”,
“资产”:[
“资产”,
“favicon.ico”,
“service worker.js”你在使用@angular/cli吗?@yurzui是的,我在使用