vue.js - 通过本地副本使用 Workbox,无需 CDN
问题描述
我有一个小型设备,可以在本地网络中使用 Nginx 为网页提供服务。我正在使用 Vue 开发网页,我需要一旦有人连接到服务器并访问该页面,在断开连接时,该页面需要正常工作
我目前正在使用 Workbox 插件,并得到以下代码:
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"/precache-manifest.b62cf508e2c3da8c27f2635f7aab384a.js"
);
问题是它会通过互联网下载该文件,而我将无法连接互联网。
我试着下载这个文件,但里面又上网了。
有没有办法让它在离线环境中工作?
解决方案
您可以按照workbox-sw
文档中的指南下载捆绑的 Workbox 运行时库的本地副本,并修改您的 Service Worker 脚本以使用它们。
跑步:
$ npx workbox-cli@4.3.1 copyLibraries /path/to/dir
从命令行将运行时的本地副本下载到指定目录(替换/path/to/dir
为所需位置)。
然后,您可以修改您的服务工作者脚本,使其显示为:
importScripts("/path/to/dir/workbox-v4.3.1/workbox-sw.js");
workbox.setConfig({
modulePathPrefix: '/path/to/dir/workbox-v4.3.1/'
});
importScripts(
"/precache-manifest.b62cf508e2c3da8c27f2635f7aab384a.js"
);
推荐阅读
- c++ - 如何在 C++ 中使用 VTK 编写标量文件?
- python - 使用 Python 将格式化的 JSON 写入文件
- php - 如何排列字符串的各个部分?
- java - 性能问题一旦有多个客户端连接到服务器
- python - dask 和 pandas 数据帧中的嵌套 numpy 数组
- reactjs - 使用 Hooks 的 React 树视图应用程序(即 useCallback)
- c# - 如何控制变量的最大值?
- c++ - opengl 3.3中的黑屏输出
- data-structures - 我在练习树的问题,我不明白为什么第二个图是树,节点4不是有两个父节点吗?
- flutter - 如何在 Flutter Cupertino 底部导航栏中导航到同级项目