Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript @angular/pwa服务人员不在我已经存在的项目上工作_Javascript_Angular_Browser_Service Worker_Progressive Web Apps - Fatal编程技术网

Javascript @angular/pwa服务人员不在我已经存在的项目上工作

Javascript @angular/pwa服务人员不在我已经存在的项目上工作,javascript,angular,browser,service-worker,progressive-web-apps,Javascript,Angular,Browser,Service Worker,Progressive Web Apps,我正在尝试将服务人员添加到我的(已存在的)项目中。 但是当我打开浏览器时,我看到它没有找到服务人员 以下是我遵循的步骤: 运行ng将@angular/pwa--project添加到我的项目中 运行ng构建--prod 使用http服务器-p 8080-c-1 dist/ 现在,应用程序正在运行,它确实获得了清单文件,但没有获得服务工作者: manifest.webmanifest: ngsw-config.json: 当我尝试在一个全新的项目上执行上述所有步骤时,它确实起了作用,并得到了服

我正在尝试将服务人员添加到我的(已存在的)项目中。 但是当我打开浏览器时,我看到它没有找到服务人员

以下是我遵循的步骤:

  • 运行
    ng将@angular/pwa--project
    添加到我的项目中
  • 运行
    ng构建--prod
  • 使用
    http服务器-p 8080-c-1 dist/
  • 现在,应用程序正在运行,它确实获得了清单文件,但没有获得服务工作者:

    manifest.webmanifest:

    ngsw-config.json:


    当我尝试在一个全新的项目上执行上述所有步骤时,它确实起了作用,并得到了服务人员。但不在我已经存在的项目上。

    尝试将服务人员设置为如下:

    ServiceWorkerModule.register('ngsw-worker.js', {
      enabled: environment.production,
      registrationStrategy: 'registerImmediately',
    })
    
    如果您的第三方库使用类似于
    setInterval
    的内容,服务人员将永远不会注册。这是因为默认的
    registerhenstable
    依赖于循环任务永远不会发生的情况

    如果在应用程序启动时启动任何类型的重复异步任务(例如,对于轮询过程,使用setInterval、setTimeout或使用RxJS操作符(如interval)启动),则应用程序将永远不会稳定


    尝试将服务工作者设置为类似以下内容
    ServiceWorkerModule.register('ngsw-worker.js',{enabled:environment.production,registationstrategy:'registerImmediately'})
    。如果包含使用类似于
    setInterval
    的第三方库,默认情况下软件将不会注册。@abraham工作。谢谢