Ale*_*502 2 progressive-web-apps workbox
有人知道如何使用CDN而不使用工作箱吗?我试过了
添加workbox-cli到我的依赖项:
"workbox-cli": "^3.6.3"
Run Code Online (Sandbox Code Playgroud)
这让我以下所有依赖项
$ ls node_modules | grep workbox
workbox-background-sync
workbox-broadcast-cache-update
workbox-build
workbox-cacheable-response
workbox-cache-expiration
workbox-cli
workbox-core
workbox-google-analytics
workbox-navigation-preload
workbox-precaching
workbox-range-requests
workbox-routing
workbox-strategies
workbox-streams
workbox-sw
Run Code Online (Sandbox Code Playgroud)
然后我在示例中替换了这一行
importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.6.1/workbox-sw.js');
Run Code Online (Sandbox Code Playgroud)
有了这个
importScripts('workbox-sw.js');
Run Code Online (Sandbox Code Playgroud)
复制node_modules/workbox-sw/build/workbox-sw.js到公用文件夹后
但是现在我通过查看“网络”选项卡意识到,该文件仍然从CDN中获取所有其他模块
(我认为它将内部包含所有内容。)
有人可以告诉我某个地方是否已经装有npm软件包?还是应该从npm文件夹中复制所需的模块,然后以某种方式将它们自己捆绑在一起?还是我必须使用webpack插件?(我猜这只会捆绑我使用的模块)
还需要一步。“ 使用本地工作箱文件而不是CDN ”具有以下详细信息:
如果您不想使用CDN,那么切换到您自己域中托管的Workbox文件就很容易了。
最简单的方法是通过workbox-cli的
copyLibraries命令 或从GitHub版本获取文件 ,然后workbox-sw通过modulePathPrefix config选项告诉在哪里找到这些文件。如果将文件放在/ third_party / workbox /下,则可以这样使用它们:
Run Code Online (Sandbox Code Playgroud)importScripts('/third_party/workbox/workbox-sw.js'); workbox.setConfig({modulePathPrefix: '/third_party/workbox/'});这样,您将仅使用本地Workbox文件。
| 归档时间: |
|
| 查看次数: |
450 次 |
| 最近记录: |