gpt4 book ai didi

angular - 如何使用 Angular 在本地运行 Service Worker

转载 作者:行者123 更新时间:2023-12-02 10:12:32 24 4
gpt4 key购买 nike

我遵循 Angular 的最佳实践来制作 PWA。进行生产构建(ng build --prod --aot)后,我还在 localhost 上从 dist 运行服务工作线程:http-server -p 8080 -c-1 dist当我尝试将工作人员与我的 Angular 同步时,使用:

navigator.serviceWorker.ready.then(function(swRegistration) {

console.log('swReady');
});

没有任何反应,似乎 SW 没有与 Angular 通信。使用远程服务器(上传 dist)确实有效。所以看来问题是 dist 不能与 ngserve 一起使用。 我究竟做错了什么?

最佳答案

目前我们似乎无法使用 ng serve --prod 的 Service Worker 。不过,我们可以采取解决方法。

  1. 我们构建项目 ng build --prod

  2. 来自 dist我们采取的位置ngsw-worker.jsngsw.json文件并将其复制到 src文件夹。

  3. 我们修改 angular.json文件以便为他们服务。我们找到属性"projects": {"[my-project-name]": {... "architect": {... "build": {... "options": {... "assets": [...然后我们添加这两项 – "src/ngsw-worker.js", "src/ngsw.json" .

  4. 我们服务 – ng serve --prod .

我已经达到了这一点。浏览器显示软件已激活并正在运行。现在唯一的考虑是,如果我们在软件中更改某些内容,我们需要再次重建并执行相同的步骤。但我相信我们可以发展得更快。

祝你好运!

关于angular - 如何使用 Angular 在本地运行 Service Worker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55905172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com