From 4a734e308a374b40daa1798ea88c2b795b7fc354 Mon Sep 17 00:00:00 2001 From: "huanqing.shao" Date: Sun, 6 Oct 2019 23:18:45 +0800 Subject: [PATCH] PWA --- .vuepress/components/KbSWUpdatePopup.vue | 36 ++++ .vuepress/config.js | 12 ++ .vuepress/public/favicon.png | Bin 0 -> 33780 bytes .vuepress/public/manifest.json | 33 +++ README.md | 108 +++++----- package-lock.json | 258 ++++++++++++++++++++++- package.json | 1 + 7 files changed, 391 insertions(+), 57 deletions(-) create mode 100644 .vuepress/components/KbSWUpdatePopup.vue create mode 100644 .vuepress/public/favicon.png create mode 100644 .vuepress/public/manifest.json diff --git a/.vuepress/components/KbSWUpdatePopup.vue b/.vuepress/components/KbSWUpdatePopup.vue new file mode 100644 index 0000000..2563c0a --- /dev/null +++ b/.vuepress/components/KbSWUpdatePopup.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/.vuepress/config.js b/.vuepress/config.js index 96dee03..2fa69ec 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -5,6 +5,8 @@ module.exports = { description: '一款Kubernetes_Dashboard_简化Kubernetes的学习和使用_帮助您快速落地Kubernetes_提供_Kubernetes_免费中文教程_国内安装文档', head: [ // ['meta', {name: 'keywords', content: 'Kubernetes教程,Kubernetes安装,K8S教程,K8S安装,Kubernetes管理界面'}], + ['link', { rel: 'icon', href: '/favicon.png' }], + ['link', { rel: 'manifest', href: '/manifest.json' }], ['script', {}, ` var _hmt = _hmt || []; (function() { @@ -36,6 +38,16 @@ module.exports = { return dateFns.format(timestamp, 'YYYY-MM-DD HH:mm:ss') } }, + '@vuepress/pwa': { + serviceWorker: true, + // popupComponent: 'KbSWUpdatePopup', + updatePopup: { + '/': { + message: "Kuboard官网已更新", + buttonText: "点击刷新" + } + } + }, '@vssue/vuepress-plugin-vssue': { // set `platform` rather than `api` platform: 'github', diff --git a/.vuepress/public/favicon.png b/.vuepress/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..026ec930f6df628011ccea7174ab816d9c684516 GIT binary patch literal 33780 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 literal 0 HcmV?d00001 diff --git a/.vuepress/public/manifest.json b/.vuepress/public/manifest.json new file mode 100644 index 0000000..18c4c47 --- /dev/null +++ b/.vuepress/public/manifest.json @@ -0,0 +1,33 @@ +{ + "name": "Kuboard文档", + "short_name": "KuboardDocs", + "start_url": ".", + "display": "standalone", + "background_color": "#fff", + "description": "Kuboard - 快速在Kubernetes上落地微服务", + "icons": [{ + "src": "favicon.png", + "sizes": "48x48", + "type": "image/png" + }, { + "src": "favicon.png", + "sizes": "72x72", + "type": "image/png" + }, { + "src": "favicon.png", + "sizes": "96x96", + "type": "image/png" + }, { + "src": "favicon.png", + "sizes": "144x144", + "type": "image/png" + }, { + "src": "favicon.png", + "sizes": "168x168", + "type": "image/png" + }, { + "src": "favicon.png", + "sizes": "192x192", + "type": "image/png" + }] +} diff --git a/README.md b/README.md index ba6b498..14bc348 100644 --- a/README.md +++ b/README.md @@ -28,16 +28,16 @@ features: Kuboard 是一款基于 Kubernetes 的微服务管理界面。 -点击此处,查看 [Kuboard 安装文档](https://kuboard.cn/install/install-dashboard.html) +点击此处,查看 Kuboard 安装文档 ## Kubernetes安装文档 -* Kubernetes (K8S)v1.16.1 安装文档 +* Kubernetes (K8S)v1.16.1 安装文档 * 每天超过200名网友参考此文档完成Kubernetes安装 * QQ群在线答疑 -* [Kubernetes 高可用安装文档](https://kuboard.cn/install/install-kubernetes.html) -* [Kubernetes升级到1.16.x](https://kuboard.cn/install/upgrade-k8s/1.15.x-1.16.x.html) +* Kubernetes 高可用安装文档 +* Kubernetes升级到1.16.x ## Kubernetes免费教程 @@ -45,51 +45,51 @@ Kubernetes教程的主要依据是:Kubernetes 官网文档,以及使用 Kubo ### **Kubernetes 介绍** - * [什么是Kubernetes](https://kuboard.cn/learning/k8s-bg/what-is-k8s.html) - * [Kubernetes组件](https://kuboard.cn/learning/k8s-bg/component.html) + * 什么是Kubernetes + * Kubernetes组件 ### Kubernetes入门 - * [0. 学习Kubernetes基础知识](https://kuboard.cn/learning/k8s-basics/kubernetes-basics.html) (10分钟) - * [1. 部署一个应用程序](https://kuboard.cn/learning/k8s-basics/deploy-app.html) (5分钟) - * [2. 查看 Pods / Nodes](https://kuboard.cn/learning/k8s-basics/explore.html) (10分钟) - * [3. 公布应用程序](https://kuboard.cn/learning/k8s-basics/expose.html) (10分钟) - * [4. 伸缩应用程序](https://kuboard.cn/learning/k8s-basics/scale.html) (10分钟) - * [5. 执行滚动更新](https://kuboard.cn/learning/k8s-basics/update.html) (10分钟) - * [6. 复习Kubernetes核心概念](https://kuboard.cn/learning/k8s-basics/k8s-core-concepts.html) (10分钟) + * 0. 学习Kubernetes基础知识 (10分钟) + * 1. 部署一个应用程序 (5分钟) + * 2. 查看 Pods / Nodes (10分钟) + * 3. 公布应用程序 (10分钟) + * 4. 伸缩应用程序 (10分钟) + * 5. 执行滚动更新 (10分钟) + * 6. 复习Kubernetes核心概念 (10分钟) ### Kubernetes进阶 * 架构 - * [节点](https://kuboard.cn/learning/k8s-bg/architecture/nodes.html) - * [集群内通信](https://kuboard.cn/learning/k8s-bg/architecture/com.html) + * 节点 + * 集群内通信 * 工作负载 - * [容器组 - 概述](https://kuboard.cn/learning/k8s-intermediate/workload/pod.html) - * [容器组 - 生命周期](https://kuboard.cn/learning/k8s-intermediate/workload/pod-lifecycle.html) - * [容器组 - 初始化容器](https://kuboard.cn/learning/k8s-intermediate/workload/init-container.html) - * [控制器 - 概述](https://kuboard.cn/learning/k8s-intermediate/workload/workload.html) - * [控制器 - Deployment](https://kuboard.cn/learning/k8s-intermediate/workload/wl-deployment/) - * [控制器 - StatefulSet](https://kuboard.cn/learning/k8s-intermediate/workload/wl-statefulset/) - * [控制器 - DaemonSet](https://kuboard.cn/learning/k8s-intermediate/workload/wl-daemonset/) - * [控制器 - Job](https://kuboard.cn/learning/k8s-intermediate/workload/wl-job/) - * [控制器 - CronJob](https://kuboard.cn/learning/k8s-intermediate/workload/wl-cronjob/) + * 容器组 - 概述 + * 容器组 - 生命周期 + * 容器组 - 初始化容器 + * 控制器 - 概述 + * 控制器 - Deployment + * 控制器 - StatefulSet + * 控制器 - DaemonSet + * 控制器 - Job + * 控制器 - CronJob * 服务发现、负载均衡、网络 - * [Service](https://kuboard.cn/learning/k8s-intermediate/service/service.html) - * [Service 详细描述](https://kuboard.cn/learning/k8s-intermediate/service/service-details.html) - * [Service 类型](https://kuboard.cn/learning/k8s-intermediate/service/service-types.html) - * [Service/Pod 的 DNS](https://kuboard.cn/learning/k8s-intermediate/service/dns.html) - * [Service 连接应用程序](https://kuboard.cn/learning/k8s-intermediate/service/connecting.html) - * [Ingress 通过互联网访问您的应用](https://kuboard.cn/learning/k8s-intermediate/service/ingress.html) + * Service + * Service 详细描述 + * Service 类型 + * Service/Pod 的 DNS + * Service 连接应用程序 + * Ingress 通过互联网访问您的应用 * 存储 - * [数据卷 Volume](https://kuboard.cn/learning/k8s-intermediate/persistent/volume.html) - * [存储卷 PV 和存储卷声明 PVC](https://kuboard.cn/learning/k8s-intermediate/persistent/pv.html) - * [存储类 StorageClass](https://kuboard.cn/learning/k8s-intermediate/persistent/storage-class.html) - * [自建 NFS 服务](https://kuboard.cn/learning/k8s-intermediate/persistent/nfs.html) + * 数据卷 Volume + * 存储卷 PV 和存储卷声明 PVC + * 存储类 StorageClass + * 自建 NFS 服务 * 配置 - * [使用私有 registry 中的 docker 镜像](https://kuboard.cn/learning/k8s-intermediate/private-registry.html) - * [使用 ConfigMap 配置您的应用程序](https://kuboard.cn/learning/k8s-intermediate/config/config-map.html) - * [管理容器的计算资源](https://kuboard.cn/learning/k8s-intermediate/config/computing-resource.html) - * [将容器调度到指定的节点](https://kuboard.cn/learning/k8s-intermediate/config/assign-pod-node.html) - * [污点和容忍 taints and toleration](https://kuboard.cn/learning/k8s-intermediate/config/taints-toleration/) - * [Secrets](https://kuboard.cn/learning/k8s-intermediate/config/secrets/) + * 使用私有 registry 中的 docker 镜像 + * 使用 ConfigMap 配置您的应用程序 + * 管理容器的计算资源 + * 将容器调度到指定的节点 + * 污点和容忍 taints and toleration + * Secrets ### Kubernetes高级 @@ -101,25 +101,25 @@ Kubernetes教程的主要依据是:Kubernetes 官网文档,以及使用 Kubo 在 Kubernetes 上部署 Spring Cloud 微服务: -* [概述](https://kuboard.cn/learning/k8s-practice/spring-cloud/) +* 概述 在 Kubernetes 上部署 Spring Cloud 微服务:(Open Capacity Platform) * 准备 - * [准备OCP的构建环境和部署环境](https://kuboard.cn/learning/k8s-practice/ocp/prepare.html) - * [构建docker镜像并推送到仓库](https://kuboard.cn/learning/k8s-practice/ocp/build.html) + * 准备OCP的构建环境和部署环境 + * 构建docker镜像并推送到仓库 * 部署 - * [部署顺序](https://kuboard.cn/learning/k8s-practice/ocp/sequence.html) - * [在K8S上部署eureka-server](https://kuboard.cn/learning/k8s-practice/ocp/eureka-server.html) - * [在K8S上部署mysql](https://kuboard.cn/learning/k8s-practice/ocp/mysql.html) - * [在K8S上部署redis](https://kuboard.cn/learning/k8s-practice/ocp/redis.html) - * [在K8S上部署auth-server](https://kuboard.cn/learning/k8s-practice/ocp/auth-server.html) - * [在K8S上部署user-center](https://kuboard.cn/learning/k8s-practice/ocp/user-center.html) - * [在K8S上部署api-gateway](https://kuboard.cn/learning/k8s-practice/ocp/api-gateway.html) - * [在K8S上部署back-center](https://kuboard.cn/learning/k8s-practice/ocp/back-center.html) - * [重新审视配置信息](https://kuboard.cn/learning/k8s-practice/ocp/review.html) + * 部署顺序 + * 在K8S上部署eureka-server + * 在K8S上部署mysql + * 在K8S上部署redis + * 在K8S上部署auth-server + * 在K8S上部署user-center + * 在K8S上部署api-gateway + * 在K8S上部署back-center + * 重新审视配置信息 * 多环境 - * [导出部署配置](https://kuboard.cn/learning/k8s-practice/ocp/export.html) - * [导入部署配置](https://kuboard.cn/learning/k8s-practice/ocp/import.html) + * 导出部署配置 + * 导入部署配置 Kuboard官网免费提供Kubernetes教程、K8S教程、K8S安装文档、Kubernetes+SpringCloud实战文档,学习过程中如有疑问,请加QQ群在线答疑。 diff --git a/package-lock.json b/package-lock.json index 39503a6..ce2af75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1128,6 +1128,16 @@ "nprogress": "^0.2.0" } }, + "@vuepress/plugin-pwa": { + "version": "1.0.0-rc.1", + "resolved": "https://registry.npm.taobao.org/@vuepress/plugin-pwa/download/@vuepress/plugin-pwa-1.0.0-rc.1.tgz", + "integrity": "sha1-a77pPSGZNAGd+QITVz2yIBtIG54=", + "requires": { + "@vuepress/shared-utils": "^1.0.0-rc.1", + "register-service-worker": "^1.5.2", + "workbox-build": "^3.1.0" + } + }, "@vuepress/plugin-register-components": { "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/@vuepress/plugin-register-components/download/@vuepress/plugin-register-components-1.0.2.tgz", @@ -1146,7 +1156,6 @@ "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/@vuepress/shared-utils/download/@vuepress/shared-utils-1.0.2.tgz", "integrity": "sha1-ThNCdIt1lP5P3p3OO/IBU4+lymc=", - "dev": true, "requires": { "chalk": "^2.3.2", "diacritics": "^1.3.0", @@ -1162,8 +1171,7 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" } } }, @@ -1745,6 +1753,14 @@ } } }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz", + "integrity": "sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE=", + "requires": { + "babylon": "^6.18.0" + } + }, "babel-helper-vue-jsx-merge-props": { "version": "2.0.3", "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz", @@ -1813,6 +1829,20 @@ "resolve": "^1.4.0" } }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", @@ -1829,6 +1859,11 @@ } } }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", @@ -2484,6 +2519,11 @@ "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz", "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=" }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/common-tags/download/common-tags-1.8.0.tgz", + "integrity": "sha1-jjFT5ULUo56bEFVENK+q+YlWqTc=" + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", @@ -4553,6 +4593,11 @@ "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz", "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=" }, + "get-own-enumerable-property-symbols": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.1.tgz", + "integrity": "sha1-b3dk+I6hHgtRS9m9hgoTIlmZLKQ=" + }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz", @@ -4811,6 +4856,11 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/hoek/download/hoek-4.2.1.tgz", + "integrity": "sha1-ljRQKqEsRF3Vp8VzS1cruHOKrLs=" + }, "hogan.js": { "version": "3.0.2", "resolved": "https://registry.npm.taobao.org/hogan.js/download/hogan.js-3.0.2.tgz", @@ -5335,6 +5385,11 @@ "has": "^1.0.1" } }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + }, "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", @@ -5387,6 +5442,14 @@ "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "isemail": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/isemail/download/isemail-3.2.0.tgz", + "integrity": "sha1-WTEKAhkxqfsGu7UeFVzgs/I2gyw=", + "requires": { + "punycode": "2.x.x" + } + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", @@ -5407,6 +5470,16 @@ "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-1.6.0.tgz", "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=" }, + "joi": { + "version": "11.4.0", + "resolved": "https://registry.npm.taobao.org/joi/download/joi-11.4.0.tgz", + "integrity": "sha1-9nSJdTe2JemsPQt+FgTIKK2RPMs=", + "requires": { + "hoek": "4.x.x", + "isemail": "3.x.x", + "topo": "2.x.x" + } + }, "js-base64": { "version": "2.5.1", "resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.5.1.tgz", @@ -10466,6 +10539,11 @@ "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.16.3.tgz", "integrity": "sha1-jGIWhFO63vcC80tFtu6JlXSmpl0=" }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=" + }, "pretty-error": { "version": "2.1.1", "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", @@ -10830,6 +10908,11 @@ "unicode-match-property-value-ecmascript": "^1.1.0" } }, + "register-service-worker": { + "version": "1.6.2", + "resolved": "https://registry.npm.taobao.org/register-service-worker/download/register-service-worker-1.6.2.tgz", + "integrity": "sha1-kpflTCBcNxxuSb+oj2mX6N0xX0w=" + }, "regjsgen": { "version": "0.5.0", "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.0.tgz", @@ -11958,6 +12041,16 @@ "safe-buffer": "~5.1.0" } }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz", + "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", @@ -11980,6 +12073,15 @@ "resolved": "https://registry.npm.taobao.org/strip-bom-string/download/strip-bom-string-1.0.0.tgz", "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/strip-comments/download/strip-comments-1.0.2.tgz", + "integrity": "sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50=", + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", @@ -12293,6 +12395,14 @@ "resolved": "https://registry.npm.taobao.org/toml/download/toml-3.0.0.tgz", "integrity": "sha1-NCFg8a8ZBOydIE0DpdYSItdixe4=" }, + "topo": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/topo/download/topo-2.0.2.tgz", + "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", + "requires": { + "hoek": "4.x.x" + } + }, "toposort": { "version": "1.0.7", "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", @@ -13151,6 +13261,148 @@ "string-width": "^1.0.2 || 2" } }, + "workbox-background-sync": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-background-sync/download/workbox-background-sync-3.6.3.tgz", + "integrity": "sha1-Zgmg+sntozanxS5qoie6KuUyrZQ=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-broadcast-cache-update": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-broadcast-cache-update/download/workbox-broadcast-cache-update-3.6.3.tgz", + "integrity": "sha1-P13/Iq2oyT45f7OMHcEAYGp7kto=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-build": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-build/download/workbox-build-3.6.3.tgz", + "integrity": "sha1-dxEPn1LcXYL6bBw4TG9eIiWty9g=", + "requires": { + "babel-runtime": "^6.26.0", + "common-tags": "^1.4.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.2", + "joi": "^11.1.1", + "lodash.template": "^4.4.0", + "pretty-bytes": "^4.0.2", + "stringify-object": "^3.2.2", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^3.6.3", + "workbox-broadcast-cache-update": "^3.6.3", + "workbox-cache-expiration": "^3.6.3", + "workbox-cacheable-response": "^3.6.3", + "workbox-core": "^3.6.3", + "workbox-google-analytics": "^3.6.3", + "workbox-navigation-preload": "^3.6.3", + "workbox-precaching": "^3.6.3", + "workbox-range-requests": "^3.6.3", + "workbox-routing": "^3.6.3", + "workbox-strategies": "^3.6.3", + "workbox-streams": "^3.6.3", + "workbox-sw": "^3.6.3" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-4.0.3.tgz", + "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "workbox-cache-expiration": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-cache-expiration/download/workbox-cache-expiration-3.6.3.tgz", + "integrity": "sha1-SBlpclSnIJihP5S1lDJaKKHpA3I=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-cacheable-response": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-cacheable-response/download/workbox-cacheable-response-3.6.3.tgz", + "integrity": "sha1-hp8aaPzpBj9oad2/f6Ci4Khos6o=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-core": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-core/download/workbox-core-3.6.3.tgz", + "integrity": "sha1-aau6cKTz8qXAWSlabzt8Yr0A4Vw=" + }, + "workbox-google-analytics": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-google-analytics/download/workbox-google-analytics-3.6.3.tgz", + "integrity": "sha1-md8qPXDW6Rlh4YpnUrrBLpH79yc=", + "requires": { + "workbox-background-sync": "^3.6.3", + "workbox-core": "^3.6.3", + "workbox-routing": "^3.6.3", + "workbox-strategies": "^3.6.3" + } + }, + "workbox-navigation-preload": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-navigation-preload/download/workbox-navigation-preload-3.6.3.tgz", + "integrity": "sha1-osNOt8F+dIW3lRJQkSFfdXs8SWQ=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-precaching": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-precaching/download/workbox-precaching-3.6.3.tgz", + "integrity": "sha1-U0FRXp1YcsWO3gJqMeGbr6+k4cE=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-range-requests": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-range-requests/download/workbox-range-requests-3.6.3.tgz", + "integrity": "sha1-PMIcujHy3YxDxSoZa8yPbNvN6AM=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-routing": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-routing/download/workbox-routing-3.6.3.tgz", + "integrity": "sha1-ZZzY+SdJhs+pj9oNBQ3mQiB1rPc=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-strategies": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-strategies/download/workbox-strategies-3.6.3.tgz", + "integrity": "sha1-EaDcJJp7wj00ZewTItKPpmQ9ZKA=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-streams": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-streams/download/workbox-streams-3.6.3.tgz", + "integrity": "sha1-vq6l1bIwI5g2zDJ7B9RxqmEBlVo=", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-sw": { + "version": "3.6.3", + "resolved": "https://registry.npm.taobao.org/workbox-sw/download/workbox-sw-3.6.3.tgz", + "integrity": "sha1-J46kwYMbkrvi1CDag5kXbEsnif8=" + }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", diff --git a/package.json b/package.json index 9787e28..ec619c4 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "vuepress-plugin-sitemap": "^2.1.2" }, "dependencies": { + "@vuepress/plugin-pwa": "^1.0.0-rc.1", "element-ui": "^2.12.0", "esm": "^3.2.25", "npm": "^6.11.3",