Skip to content

Runtime API Examples

This page demonstrates usage of some of the runtime APIs provided by VitePress.

The main useData() API can be used to access site, theme, and page data for the current page. It works in both .md and .vue files:

md
<script setup>
import { useData } from 'vitepress'

const { theme, page, frontmatter } = useData()
</script>

## Results

### Theme Data

<pre>{{ theme }}</pre>

### Page Data

<pre>{{ page }}</pre>

### Page Frontmatter

<pre>{{ frontmatter }}</pre>

Results

Theme Data

{
  "logo": "/logo.png",
  "outline": [
    2,
    3
  ],
  "outlineTitle": "当前页面",
  "docFooter": {
    "prev": "上一篇",
    "next": "下一篇"
  },
  "returnToTopLabel": "返回顶部",
  "sidebarMenuLabel": "菜单",
  "darkModeSwitchLabel": "外观",
  "lastUpdatedText": "最后一次更新于",
  "nav": [
    {
      "text": "首页",
      "link": "/"
    },
    {
      "text": "开始阅读",
      "link": "/latest/"
    },
    {
      "text": "联系我们",
      "link": "/contact/index.md"
    },
    {
      "text": "李钟意讲前端官网",
      "link": "https://ffffee.com"
    }
  ],
  "sidebar": [
    {
      "text": "开始阅读",
      "link": "/latest/index.md"
    },
    {
      "text": "🧀 前端",
      "collapsed": true,
      "items": [
        {
          "text": "大纲",
          "link": "/frontend/README.md"
        },
        {
          "text": "css实现展开收起效果",
          "link": "/frontend/240822-css实现展开收起效果.md"
        },
        {
          "text": "修复vscode控制台win11中文乱码问题",
          "link": "/frontend/240913-vscode-win11-中文乱码.md"
        },
        {
          "text": "微信小程序两列瀑布流设计",
          "link": "/frontend/240820-两列瀑布流设计.md"
        },
        {
          "text": "推荐免费开源好用的流程图绘图工具 Draw.io (现在叫 diagrams.net)",
          "link": "/frontend/240818-draw.io.md"
        },
        {
          "text": "如何自学前端",
          "link": "/frontend/240811-如何自学前端.md"
        },
        {
          "text": "TensorFlow.js 底层依赖的是什么?它是如何实现人脸检测的",
          "link": "/frontend/240505-tensorflow.js.md"
        },
        {
          "text": "curl命令的使用教程",
          "link": "/frontend/240429-curl命令的使用教程.md"
        },
        {
          "text": "Node.js实现gzip和br压缩类",
          "link": "/frontend/240423-Node.js实现gzip和br压缩类.md"
        },
        {
          "text": "Vue3 如何生成二维码",
          "link": "/frontend/240421-qrcode.md"
        },
        {
          "text": "前端 package.json 中 scripts 的 postinstall, install, preinstall",
          "link": "/frontend/240419-package-preisntall-vs-postinstall.md"
        },
        {
          "text": "vxe-table vxe-list 滚动到底部存在留白不触发刷新",
          "link": "/frontend/240419-vxe-table-bug.md"
        },
        {
          "text": "前端link标签",
          "link": "/frontend/0411-link.md"
        },
        {
          "text": "前端图片优化",
          "link": "/frontend/240410-前端图片优化.md"
        },
        {
          "text": "拖拽div修改宽度",
          "link": "/frontend/240404-拖拽div修改宽度.md"
        },
        {
          "text": "一图搞懂chrome network面板",
          "link": "/frontend/240404-一图搞懂chrome-network面板.md"
        },
        {
          "text": "如何重启使用安全模式",
          "link": "/frontend/231019-如何重启使用安全模式.md"
        },
        {
          "text": "Proxy-Object.defineProperty 区别",
          "link": "/frontend/230603-Proxy-Object.defineProperty区别.md"
        },
        {
          "text": "Pinia-VS-Vuex 实现原理",
          "link": "/frontend/230603-Pinia-VS-Vuex实现原理.md"
        },
        {
          "text": "Electron-Builder 快速入门详细指南",
          "link": "/frontend/230601-1-Electron-Builder快速入门详细指南.md"
        },
        {
          "text": "面试官:写一段代码证明你的 ts 水平",
          "link": "/frontend/230412-ts-demo.md"
        },
        {
          "text": "erp 接口文档",
          "link": "/frontend/230429-erp接口文档.md"
        },
        {
          "text": "0411 小红书面试问题",
          "link": "/frontend/230411-小红书面试问题.md"
        },
        {
          "text": "electron 调用 dll sdk",
          "link": "/frontend/230405-README_SDK.md"
        },
        {
          "text": "electron 安装 vs2022",
          "link": "/frontend/230401-install-vs2022.md"
        },
        {
          "text": "接口测试题目",
          "link": "/frontend/230316-接口测试题目.md"
        },
        {
          "text": "git commit 规范和生成 changelog",
          "link": "/frontend/230313-git-commit-and-changelog.md"
        },
        {
          "text": "生成 uuidv4.min.js 文件",
          "link": "/frontend/230313-生成uuidv4.min.js文件.md"
        },
        {
          "text": "前端项目上线-常见问题",
          "link": "/frontend/230306-项目上线-常见问题.md"
        },
        {
          "text": "前端 Linux 快速入门 Vi 和 Vim 的使用",
          "link": "/frontend/230227-Linux-vi-and-vim-tutorial.md"
        },
        {
          "text": "前端 Linux 快速入门必知必会-命令",
          "link": "/frontend/前端Linux快速入门必知必会.md"
        },
        {
          "text": "npm --save VS --save-exact",
          "link": "/frontend/230226-npm--saveVS--save-exact.md"
        },
        {
          "text": "一键切换亮色-暗黑主题",
          "link": "/frontend/230222-一键切换亮色-暗黑主题.md"
        },
        {
          "text": "面试经验分享-真题-答案",
          "link": "/frontend/230220-面试经验分享-真题-答案.md"
        },
        {
          "text": "Vite 打包优化配置都有哪些",
          "link": "/frontend/230216-Vite打包优化配置都有哪些.md"
        },
        {
          "text": "Vite 从 0 到 1 搭建脚手架",
          "link": "/frontend/230216-Vite从0到1搭建脚手架.md"
        },
        {
          "text": "reset.css vs normalize.css",
          "link": "/frontend/230216-reset.css-vs-normalize.css.md"
        },
        {
          "text": "快速入门 Electron - chatgpt 桌面端",
          "link": "/frontend/230213-1-electron-chatgpt.md"
        },
        {
          "text": "财务管理后台-项目介绍-常见问题记录",
          "link": "/frontend/230209-erp-management.md"
        },
        {
          "text": "nodejs 与 java 有什么优势和劣势呢?为什么那么多企业用 java",
          "link": "/frontend/230209-nodejs-vs-java.md"
        },
        {
          "text": "某公司上机面试题",
          "link": "/frontend/230207-某公司上机面试题.md"
        },
        {
          "text": "配置你的 Mac m2 电脑环境",
          "link": "/frontend/230204-config-your-mac.md"
        },
        {
          "text": "CSS3 grid 布局",
          "link": "/frontend/230201-css-grid.md"
        },
        {
          "text": "记录与面试官的深入对话",
          "link": "/frontend/230130-1-recorded-interview-20230130.md"
        },
        {
          "text": "Vue 面试题精选",
          "link": "/frontend/230128-vue-interview-questions.md"
        },
        {
          "text": "Git 实战:从入门到精通",
          "link": "/frontend/230122-1-git-in-action.md"
        },
        {
          "text": "Vue 组件二次封装源码",
          "link": "/frontend/230121-vue-component-wrapping.md"
        },
        {
          "text": "git 命令的应用入门到精通(直播)",
          "link": "/frontend/230120-1-live-git-cmd.md"
        },
        {
          "text": "直播讲解测试题目汇总",
          "link": "/frontend/230117-2-live-interpretation-test-questions.md"
        },
        {
          "text": "推荐好用的截图工具 snipaste",
          "link": "/frontend/230110-2-snipaste.md"
        },
        {
          "text": "深入理解 Javascript 中的宏任务和微任务",
          "link": "/frontend/230117-1-understanding-macrotask-and-microtask-in-javascript.md"
        },
        {
          "text": "Axios 实现 token 自动刷新",
          "link": "/frontend/230116-2-axios-使用axios实现token自动刷新"
        },
        {
          "text": "Axios-请求拦截-响应拦截",
          "link": "/frontend/230116-1-axios-请求拦截-响应拦截.md"
        },
        {
          "text": "使用 requestAnimationFrame 优化页面动画性能",
          "link": "/frontend/230115-requestAnimationFrame.md"
        },
        {
          "text": "前端性能优化: 如何让网站加载更快,提高用户体验",
          "link": "/frontend/230114-front-end-performance-optimization"
        },
        {
          "text": "前端动画:学习如何使用 CSS 和 JavaScript 实现各种动画效果",
          "link": "/frontend/230113-front-end-css-javascript-animation.md"
        },
        {
          "text": "前端工作流程-了解前端工作流程,包括需求分析、设计、开发、测试、发布等步骤。",
          "link": "/frontend/230112-front-end-workflow.md"
        },
        {
          "text": "前端安全-如何防止 XSS 攻击和保护用户隐私",
          "link": "/frontend/230111-front-end-security.md"
        },
        {
          "text": "前端 SEO ??前端如何进行 SEO 搜索引擎优化",
          "link": "/frontend/230110-1-frontend-seo.md"
        },
        {
          "text": "前端跨域??简单易懂的跨域解决方案",
          "link": "/frontend/230109-2-前端跨域-简单易懂的跨域解决方案.md"
        },
        {
          "text": "直播或者短视频主题",
          "link": "/frontend/230108-3-live-theme.md"
        },
        {
          "text": "语音直播助理 2.0.0",
          "link": "/frontend/230108-2-voice-assistant-v2.md"
        },
        {
          "text": "语音直播助理 1.0.0",
          "link": "/frontend/230107-1-voice-assistant-v1.md"
        },
        {
          "text": "前端配置-Python-环境",
          "link": "/frontend/230108-1-frontend-config-python-env.md"
        },
        {
          "text": "前端模拟面试题及答案-JavaScript 中使用 new 关键字时,会发生什么",
          "link": "/frontend/230106-3-new-key.md"
        },
        {
          "text": "免费 code review",
          "link": "/frontend/230106-2-code-review.md"
        },
        {
          "text": "前端学了前面忘了后面怎么办",
          "link": "/frontend/230106-1-前端学了前面忘了后面怎么办.md"
        },
        {
          "text": "前端模拟面试提问问题和候选人回复",
          "link": "/frontend/230105-前端模拟面试提问问题和候选人回复.md"
        },
        {
          "text": "前端零基础到入门写页面",
          "link": "/frontend/230105-前端零基础到入门写页面.md"
        },
        {
          "text": "前端模拟面试题及答案-JavaScript-垃圾回收机制",
          "link": "/frontend/230103-前端模拟面试题及答案-JavaScript-垃圾回收机制.md"
        },
        {
          "text": "前端模拟面试题及答案-JavaScript-继承-原型和原型链-代码执行机制",
          "link": "/frontend/230103-前端模拟面试题及答案-JavaScript-继承-原型和原型链-代码执行机制.md"
        },
        {
          "text": "前端模拟面试题及答案-JavaScript-作用域-闭包-执行上下文",
          "link": "/frontend/230103-前端模拟面试题及答案-JavaScript-作用域-闭包-执行上下文.md"
        },
        {
          "text": "前端模拟面试题及答案-CSS3",
          "link": "/frontend/230103-前端模拟面试题及答案-CSS3.md"
        },
        {
          "text": "原生 ajax 入门到精通",
          "link": "/frontend/dev/230102-原生ajax入门到精通.md"
        },
        {
          "text": "前端模拟面试一面及答案",
          "link": "/frontend/1231-前端模拟面试一面及答案.md"
        },
        {
          "text": "如何使用 Markdown 写简历",
          "link": "/frontend/1229-resume-pdf-markdown.md"
        },
        {
          "text": "面试题八股文链接",
          "link": "/frontend/1226-InterviewQuestions.md"
        },
        {
          "text": "Open ai find parent",
          "link": "/frontend/1215-openai-find-parent.md"
        },
        {
          "text": "感染新冠肺炎症状、体温和吃药时间表",
          "link": "/frontend/1214-COVID-19.md"
        },
        {
          "text": "ChatGPT 无法使用解决方案",
          "link": "/frontend/1214-chatgpt-unable-to-work.md"
        },
        {
          "text": "Nodejs 开发接口-实现用户的增删改查、token 处理",
          "link": "/frontend/1212-Nodejs-dev-api-curd-user.md"
        },
        {
          "text": "JavaScript 网站加载速度优化-减少白屏时间",
          "link": "/frontend/1206-JavaScript-async-defer.md"
        },
        {
          "text": "富文本 Tinymce 技术调研(React + Node express)",
          "link": "/frontend/1204-tinymce-react-express.md"
        },
        {
          "text": "Electron 码上翻译从 0 到 100 拆解实现",
          "link": "/frontend/1203-electron-code-translate.md"
        },
        {
          "text": "网站置灰 css 样式",
          "link": "/frontend/1202-website-graying-css-style.md"
        },
        {
          "text": "JavaScript 显示会议时长代码拆解实现",
          "link": "/frontend/1130-JavaScript-show-meeting-time.md"
        },
        {
          "text": "JavaScript 模块(module)",
          "link": "/frontend/1129-JavaScript-module.md"
        },
        {
          "text": "Pixijs-Gsap 实现明日方舟粒子动画",
          "link": "/frontend/1128-Pixijs-gsap-learn.md"
        },
        {
          "text": "Figma builder.io 插件把任意网站变为设计稿",
          "link": "/frontend/1127-figma-builder.io-to-figma.md"
        },
        {
          "text": "Nodejs 爬虫 Jenkins+Puppeteer 定时获取数据",
          "link": "/frontend/1126-Nodejs-crawler-Jenkins+Puppeter.md"
        },
        {
          "text": "Nodejs 爬虫 Centos 无法运行 Puppeteer 解决方案",
          "link": "/frontend/1125-Nodejs-crawler-Centos-cannot-run-puppeteer.md"
        },
        {
          "text": "Webgl 明日方舟官网",
          "link": "/frontend/1124-Webgl明日方舟官网.md"
        },
        {
          "text": "Windows 电脑 C 盘满了解决方案",
          "link": "/frontend/1123-Windows电脑C盘满了解决方案.md"
        },
        {
          "text": "Nodejs 爬虫进阶自动生成视频点赞排行榜",
          "link": "/frontend/1122-Nodejs爬虫进阶自动生成视频点赞排行榜.md"
        },
        {
          "text": "Nodejs 爬虫 - Nodejs 快速入门 Puppeteer",
          "link": "/frontend/1121-Nodejs爬虫-快速入门Puppeteer.md"
        },
        {
          "text": "Nodejs 爬虫小白入门",
          "link": "/frontend/1120-Nodejs爬虫小白入门.md"
        },
        {
          "text": "git-merge 工作流",
          "link": "/frontend/1119-git-merge工作流.md"
        },
        {
          "text": "Mermaid 图表绘制工具",
          "link": "/frontend/1118-Mermaid图表绘制工具.md"
        },
        {
          "text": "http3 来了",
          "link": "/frontend/1116-http3来了.md"
        },
        {
          "text": "Jenkins 部署项目演示",
          "link": "/frontend/1115-Jenkins部署项目演示.md"
        },
        {
          "text": "https 时序图",
          "link": "/frontend/1114-https时序图.md"
        },
        {
          "text": "端到端加密 EE2E",
          "link": "/frontend/1113-端到端加密EE2E.md"
        },
        {
          "text": "预览 pdf 文件调研",
          "link": "/frontend/1112-预览pdf文件调研"
        },
        {
          "text": "快速入门 docker",
          "link": "/frontend/1111-快速入门docker"
        },
        {
          "text": "socket.io",
          "link": "/frontend/1110-socket.io.md"
        },
        {
          "text": "面试题实现网络请求并发限制的管理类",
          "link": "/frontend/1109-面试题实现网络请求并发限制的管理类.md"
        },
        {
          "text": "国内常用的 React 技术栈都有哪些",
          "link": "/frontend/1108-国内常用的React技术栈都有哪些.md"
        },
        {
          "text": "如何让浏览器马上进行垃圾回收",
          "link": "/frontend/1107-如何让浏览器马上进行垃圾回收.md"
        },
        {
          "text": "使用 prettier 格式化你的代码",
          "link": "/frontend/1106-使用prettier格式化你的代码.md"
        },
        {
          "text": "Windows 如何安装 nvm 管理 nodejs",
          "link": "/frontend/Windows如何安装nvm管理nodejs.md"
        },
        {
          "text": "一秒变黑客",
          "link": "/frontend/1103-一秒变黑客.md"
        },
        {
          "text": "一秒查看开源代码",
          "link": "/frontend/1102-一秒查看开源代码.md"
        },
        {
          "text": "代码折叠小技巧 region 适用于任何编程语言",
          "link": "/frontend/1101-代码块收起region.md"
        },
        {
          "text": "Vue2 风格指南",
          "link": "/frontend/1025-Vue2风格指南.md"
        },
        {
          "text": "移动端适配 vw+rem 解决方案",
          "link": "/frontend/1025-移动端适配vw+rem解决方案.md"
        },
        {
          "text": "Docsify 文档网站搭建过程",
          "link": "/docsify/README.md"
        },
        {
          "text": "十分推荐的开源项目",
          "link": "/frontend/1104-十分推荐的开源项目.md"
        },
        {
          "text": "如何白嫖 UI 设计稿",
          "link": "/frontend/1105-如何白嫖UI设计稿.md"
        },
        {
          "text": "直播弹幕问题回答",
          "link": "/frontend/1204-live-problem.md"
        }
      ]
    },
    {
      "text": "🍎 项目",
      "collapsed": true,
      "items": [
        {
          "text": "file-upload",
          "collapsed": true,
          "items": [
            {
              "text": "Vue3 + Vite 从 0 到 1 搭建一个脚手架",
              "link": "/project/file-upload/6-vite-cli.md"
            },
            {
              "text": "Vue3 文件上传管理后台",
              "link": "/project/file-upload/5-intro.md"
            },
            {
              "text": "docker mongodb 服务器",
              "link": "/project/file-upload/1-docker-mongo.md"
            },
            {
              "text": "docker 部署前后端项目",
              "link": "/project/file-upload/2-start-docker.md"
            },
            {
              "text": "前后端大文件分片上传调研-express-fileupload",
              "link": "/project/file-upload/3-file-upload.md"
            },
            {
              "text": "Figma UI 设计稿",
              "link": "/project/file-upload/4-figma.md"
            },
            {
              "text": "文件夹上传调研",
              "link": "/project/file-upload/7-file-folder-upload.md"
            },
            {
              "text": "文件上传管理后台-接口文档",
              "link": "/project/file-upload/8-fileupload-api.md"
            }
          ]
        },
        {
          "text": "资金管理后台项目",
          "collapsed": true,
          "items": [
            {
              "text": "源码-在线预览-快速开始",
              "link": "/project/money-manager/1-quick-start-and-source-code.md"
            }
          ]
        }
      ]
    },
    {
      "text": "🥚 技术栈",
      "items": [
        {
          "text": "🍌 ppt",
          "link": "/ppt/ppt.md"
        },
        {
          "text": "🥩 AI 大模型",
          "collapsed": true,
          "items": [
            {
              "text": "AI大模型汇总",
              "link": "/ai/AI大模型汇总.md"
            },
            {
              "text": "ChatGLM3一键部署",
              "link": "/ai/ChatGLM3一键部署.md"
            }
          ]
        },
        {
          "text": "🥦 WebAssembly",
          "collapsed": true,
          "items": [
            {
              "text": "1. 是什么?",
              "link": "/wasm/1-what-is-webassembly.md"
            },
            {
              "text": "2. hello world例子",
              "link": "/wasm/2-hello-world.md"
            },
            {
              "text": "3. libheif wasm例子",
              "link": "/wasm/3-libheif-decode-heic-img.md"
            },
            {
              "text": "4. libheif wasm在Node.js运行",
              "link": "/wasm/4-libheif-node.md"
            }
          ]
        },
        {
          "text": "🍊 Electron",
          "collapsed": true,
          "items": [
            {
              "text": "electron-vite",
              "collapsed": true,
              "items": [
                {
                  "text": "electron-vite快速入门",
                  "link": "/electron/electron-vite/electron-vite-quick-start.md"
                },
                {
                  "text": "electron-vite vue 无法自动热更新解决方案",
                  "link": "/electron/electron-vite/electron-vite-hot-reload.md"
                },
                {
                  "text": "使用 nodemon 解决 electron-vite 没有自动热更新的问题",
                  "link": "/electron/electron-vite/electron-vite-nodemon.md"
                },
                {
                  "text": "electron vite如何配置vue打包多入口",
                  "link": "/electron/electron-vite/electron-vite-multi-entry-setup.md"
                }
              ]
            },
            {
              "text": "electron-koffi",
              "collapsed": true,
              "items": [
                {
                  "text": "什么是ffi,比如node.js中有 koffi、node-ffi",
                  "link": "/electron/electron-koffi/什么是ffi,比如node.js中有 koffi、node-ffi.md"
                },
                {
                  "text": "什么是win32 API?win32都包含了哪些?",
                  "link": "/electron/electron-koffi/什么是win32 API?win32都包含了哪些?.md"
                },
                {
                  "text": "koffi 官方例子",
                  "link": "/electron/electron-koffi/koffi-官方例子.md"
                },
                {
                  "text": "koffi 定义回调函数",
                  "link": "/electron/electron-koffi/koffi-定义回调函数.md"
                },
                {
                  "text": "koffi 遍历桌面返回所有窗口的句柄ID",
                  "link": "/electron/electron-koffi/koffi-遍历桌面返回所有窗口的句柄ID.md"
                },
                {
                  "text": "koffi 根据句柄id获取窗口标题",
                  "link": "/electron/electron-koffi/koffi-根据句柄id获取窗口标题.md"
                },
                {
                  "text": "koffi 枚举所有屏幕并显示坐标",
                  "link": "/electron/electron-koffi/koffi-枚举所有屏幕并显示坐标.md"
                },
                {
                  "text": "koffi 获取指定hwnd句柄id的窗口坐标",
                  "link": "/electron/electron-koffi/koffi-获取指定hwnd句柄id的窗口坐标.md"
                }
              ]
            },
            {
              "text": "electron-vlc",
              "collapsed": true,
              "items": [
                {
                  "text": "electron VLC Player Video 技术调研",
                  "link": "/electron/electron-vlc/electron-vlc-player-video.md"
                },
                {
                  "text": "electron-vite支持VLC过程",
                  "link": "/electron/electron-vlc/electron-vite-vlc-player.md"
                },
                {
                  "text": "1.VLC播放http接口视频",
                  "link": "/electron/electron-vlc/vlc-1-play-http-video.md"
                },
                {
                  "text": "2.VLC增加播放本地视频的功能",
                  "link": "/electron/electron-vlc/vlc-2-play-local-video.md"
                },
                {
                  "text": "3.VLC支持暂停和继续播放",
                  "link": "/electron/electron-vlc/vlc-3-output-play-pause.md"
                },
                {
                  "text": "4.VLC把vlc播放的视频输出到指定的窗口上",
                  "link": "/electron/electron-vlc/vlc-4-output-electron-hwnd.md"
                },
                {
                  "text": "5.VLC增加更多libVLC控制方法",
                  "link": "/electron/electron-vlc/vlc-5-controls-libvlc.md"
                }
              ]
            },
            {
              "text": "electron-screenshot",
              "collapsed": true,
              "items": [
                {
                  "text": "1-electron截屏软件开发任务拆解",
                  "link": "/electron/electron-screenshot/1-electron截屏软件开发任务拆解.md"
                },
                {
                  "text": "electron与Node.js基础知识",
                  "link": "/electron/electron-screenshot/electron与Node.js基础知识.md"
                }
              ]
            },
            {
              "text": "electron plugin line electron加载谷歌应用应用商店的插件方法",
              "link": "/electron/electron-plugin/electron-plugin-line.md"
            },
            {
              "text": "electron 如何配置单例模式",
              "link": "/electron/electron-app.requestSingleInstanceLock.md"
            },
            {
              "text": "powershell强制关闭应用",
              "link": "/electron/powershell强制关闭应用.md"
            },
            {
              "text": "模仿陈依涵-猫猫回收站",
              "link": "/electron/模仿陈依涵-猫猫回收站.md"
            },
            {
              "text": "1. 精通 electron 快速开始",
              "link": "/electron/electron-mastering-1-quickstart.md"
            },
            {
              "text": "2. 精通 electron 关键技术点",
              "link": "/electron/electron-mastering-2-keypoints.md"
            },
            {
              "text": "3. 精通 electron 常用开源库",
              "link": "/electron/electron-mastering-3-popular-libraries.md"
            },
            {
              "text": "4. 精通 electron 源码保护",
              "link": "/electron/electron-mastering-4-remote-debugging-port.md"
            },
            {
              "text": "5. 精通 electron - Vue.js devtools 插件",
              "link": "/electron/electron-mastering-5-vue-devtools.md"
            },
            {
              "text": "electron rebuild 如何指定编译某个目录",
              "link": "/electron/electron-rebuild-指定目录编译.md"
            },
            {
              "text": "electron builder^23.0.2 以前版本打包失败 - Mac",
              "link": "/electron/electron-builder-exit-code-spawn-usr-bin-python-enoent.md"
            },
            {
              "text": "electron builder 打包减少安装包体积",
              "link": "/electron/electron-reduces-installation-package-size.md"
            },
            {
              "text": "electron 淘宝镜像配置 .npmrc 文件",
              "link": "/electron/electron-npmrc.md"
            },
            {
              "text": "使用 ffmpeg 转码视频 - 并且在 web 播放视频",
              "link": "/electron/electron-ffmpeg-video.md"
            },
            {
              "text": "electron 支持 wasm",
              "link": "/electron/wasm-is-not-support-error.md"
            },
            {
              "text": "electron Windows 把应用添加到 右键菜单中",
              "link": "/electron/electron-builder-installer.nsh-regedit.md"
            },
            {
              "text": "electron builder 记住用户上一次选择的安装路径",
              "link": "/electron/electron-builder-installer.nsh-install-path.md"
            },
            {
              "text": "electron screenshot 截图项目文档",
              "link": "/electron/electron-screenshot.md"
            },
            {
              "text": "唤醒app",
              "link": "/electron/start-app.md"
            },
            {
              "text": "使用自定义协议在 Electron 中访问本地资源",
              "link": "/electron/custom-protocol-access-local-resources.md"
            },
            {
              "text": "Electron 常见错误和解决方案",
              "link": "/electron/faq.md"
            },
            {
              "text": "在 Electron 中使用 PowerShell 打开 Windows 的\"打开方式\"对话框",
              "link": "/electron/electron-powershell-openwith-dialog.md"
            },
            {
              "text": "electron 下载文件到指定目录",
              "link": "/electron/electron-download-file-to-tmpdir.md"
            },
            {
              "text": "使用 selenium-webdriver 去控制新打开的 electron 窗口的页面",
              "link": "/electron/electron-selenium.md"
            },
            {
              "text": "Windows应用代码签名",
              "link": "/electron/code-signing-certificates.md"
            },
            {
              "text": "如何解压 electron 中的 asar 文件",
              "link": "/electron/unveiling-asar.md"
            },
            {
              "text": "解决 electron builder 系统托盘出现多个图标的问题",
              "link": "/electron/electron-tray-icon.md"
            },
            {
              "text": "Electron 如何让窗口显示在全屏窗口上 (Mac/Windows)",
              "link": "/electron/electron-mac-keep-in-full-screen.md"
            },
            {
              "text": "electron-Mas开发-打包-签名-公证-测试(testflight)文档",
              "link": "/electron/electron-Mas开发-打包-签名-公证-测试(testflight)文档/electron-Mas开发-打包-签名-公证-测试(testflight)文档.md"
            },
            {
              "text": "electron-默认有几个进程",
              "link": "/electron/electron-默认有几个进程.md"
            },
            {
              "text": "electron-内存泄漏排查",
              "link": "/electron/electron-内存泄漏排查.md"
            },
            {
              "text": "electron-内存-垃圾回收-window.gc",
              "link": "/electron/electron-内存-垃圾回收-window.gc.md"
            }
          ]
        },
        {
          "text": "🥥 c/c++",
          "collapsed": true,
          "items": [
            {
              "text": "1-C和C++运行环境安装指南",
              "link": "/c_c++/1-C和C++运行环境安装指南.md"
            },
            {
              "text": "2-如何运行和调试C和C++代码",
              "link": "/c_c++/2-如何运行和调试C和C++代码.md"
            },
            {
              "text": "3-1-unit",
              "collapsed": true,
              "items": [
                {
                  "text": "1.1-hello",
                  "link": "/c_c++/1-unit/1.1-hello.md"
                },
                {
                  "text": "1.2-sum",
                  "link": "/c_c++/1-unit/1.2-sum.md"
                },
                {
                  "text": "1.3-max",
                  "link": "/c_c++/1-unit/1.3-max.md"
                },
                {
                  "text": "1.4-习题1.1",
                  "link": "/c_c++/1-unit/1.4-习题1.1.md"
                },
                {
                  "text": "1.5-习题1.2",
                  "link": "/c_c++/1-unit/1.5-习题1.2.md"
                }
              ]
            },
            {
              "text": "4-2-unit",
              "collapsed": true,
              "items": [
                {
                  "text": "2.1-cock-rabit",
                  "link": "/c_c++/2-unit/2.1-cock-rabit.md"
                },
                {
                  "text": "2.2-float",
                  "link": "/c_c++/2-unit/2.2-float.md"
                },
                {
                  "text": "2.3-float",
                  "link": "/c_c++/2-unit/2.3-float.md"
                },
                {
                  "text": "2.4-char",
                  "link": "/c_c++/2-unit/2.4-char.md"
                },
                {
                  "text": "2.5-char",
                  "link": "/c_c++/2-unit/2.5-char.md"
                },
                {
                  "text": "2.6-char",
                  "link": "/c_c++/2-unit/2.6-char.md"
                },
                {
                  "text": "2.7-define",
                  "link": "/c_c++/2-unit/2.7-define.md"
                },
                {
                  "text": "2.8-c语言中的数据类型",
                  "link": "/c_c++/2-unit/2.8-c语言中的数据类型.md"
                },
                {
                  "text": "2.8-强制类型转换",
                  "link": "/c_c++/2-unit/2.8-强制类型转换.md"
                }
              ]
            }
          ]
        },
        {
          "text": "🥝 Inno setup",
          "collapsed": true,
          "items": [
            {
              "text": "1-download-inno-setup",
              "link": "/inno-setup/1-download-inno-setup.md"
            },
            {
              "text": "2-学习网站地址",
              "link": "/inno-setup/2-学习网站地址.md"
            }
          ]
        },
        {
          "text": "🍇 Node.js",
          "collapsed": true,
          "items": [
            {
              "text": "Node.js sqlite3 实现全文检索",
              "link": "/nodejs/node-sqlite3全文检索.md"
            },
            {
              "text": "Node.js Buffer",
              "link": "/nodejs/nodejs-buffer.md"
            },
            {
              "text": "Node.js 进程间通信",
              "link": "/nodejs/nodejs-ipc.md"
            },
            {
              "text": "Windows 支持 heic 图片显示",
              "link": "/nodejs/node-convert-heic.md"
            },
            {
              "text": "PM2 快速上手指南",
              "link": "/nodejs/pm2-quickstart.md"
            },
            {
              "text": "PM2 进阶",
              "link": "/nodejs/pm2-docker-nodejs-files-folder-upload-example.md"
            },
            {
              "text": "输出当前的目录文件树",
              "link": "/nodejs/fs-file-tree.md"
            },
            {
              "text": "node 解压 zip 文件",
              "link": "/nodejs/node-unzip-file.md"
            }
          ]
        },
        {
          "text": "🍆 Vue.js",
          "collapsed": true,
          "items": [
            {
              "text": "Vue3 配置开发、测试、生产环境",
              "link": "/vuejs/vue3-配置开发、测试、生产环境.md"
            },
            {
              "text": "上传进度计算-平滑窗口算法",
              "link": "/vuejs/上传进度计算-平滑窗口算法.md"
            },
            {
              "text": "Vue 类似 elScrollbar 滚动条",
              "link": "/vuejs/类似elScrollbar滚动条.md"
            },
            {
              "text": "Vue 开发 VSCode 怎么配置?",
              "link": "/vuejs/vue-vscode-config.md"
            },
            {
              "text": "解决 VScode 按住 command 或者 control 键自动跳转的问题",
              "link": "/vuejs/vite-vscode-alias-fix.md"
            },
            {
              "text": "Vue3 单元格例子",
              "link": "/vuejs/example-cells.md"
            },
            {
              "text": "一文看懂 script type=\"importmap\"",
              "link": "/vuejs/js-type-importmap.md"
            },
            {
              "text": "使用不同的方法记录请求时间",
              "link": "/vuejs/axios-request.md"
            },
            {
              "text": "理解 Vue 3 中的 Composables",
              "link": "/vuejs/vue3-composables.md"
            },
            {
              "text": "Vue.js 项目常见问题",
              "link": "/vuejs/computed-watch.md"
            }
          ]
        },
        {
          "text": "🍒 React.js",
          "collapsed": true,
          "items": [
            {
              "text": "React.js快速入门指南",
              "link": "/reactjs/quickstart.md"
            }
          ]
        },
        {
          "text": "🌶️ JavaScript",
          "collapsed": true,
          "items": [
            {
              "text": "Ajax 入门",
              "items": [
                {
                  "text": "大纲",
                  "link": "/javascript/ajax/README.md"
                },
                {
                  "text": "1-javascript基础",
                  "link": "/javascript/ajax/1-javascript基础.md"
                },
                {
                  "text": "2-DOM操作基础",
                  "link": "/javascript/ajax/2-DOM操作基础.md"
                },
                {
                  "text": "3-HTTP协议基础",
                  "link": "/javascript/ajax/3-HTTP协议基础.md"
                },
                {
                  "text": "4-XMLHttpRequest对象",
                  "link": "/javascript/ajax/4-XMLHttpRequest对象.md"
                },
                {
                  "text": "5-实战制作一个简单的AJAX应用",
                  "link": "/javascript/ajax/5-实战制作一个简单的AJAX应用.md"
                },
                {
                  "text": "6-JSON数据格式",
                  "link": "/javascript/ajax/6-JSON数据格式.md"
                },
                {
                  "text": "7-错误处理与调试",
                  "link": "/javascript/ajax/7-错误处理与调试.md"
                },
                {
                  "text": "8-跨域请求",
                  "link": "/javascript/ajax/8-跨域请求.md"
                },
                {
                  "text": "9-Promise和FetchAPI",
                  "link": "/javascript/ajax/9-Promise和FetchAPI.md"
                },
                {
                  "text": "10-异步编程和AsyncAwait.md",
                  "link": "/javascript/ajax/10-异步编程和AsyncAwait.md"
                },
                {
                  "text": "11-实战进阶制作一个复杂的AJAX应用",
                  "link": "/javascript/ajax/11-实战进阶制作一个复杂的AJAX应用.md"
                },
                {
                  "text": "12-JSONPlaceholder `posts` API 文档",
                  "link": "/javascript/ajax/12-json-placeholder-posts-api.md"
                }
              ]
            }
          ]
        },
        {
          "text": "🍋 Git",
          "collapsed": true,
          "items": [
            {
              "text": "git-提交代码到github.md",
              "link": "/git/git-提交代码到github.md"
            },
            {
              "text": "git-按照日期导出提交信息",
              "link": "/git/git-按照日期导出提交信息.md"
            },
            {
              "text": "git 版本控制",
              "link": "/git/git-版本控制.md"
            },
            {
              "text": "git 历史",
              "link": "/git/git-历史.md"
            },
            {
              "text": "git 是什么",
              "link": "/git/git-是什么.md"
            },
            {
              "text": "git 安装 Git",
              "link": "/git/git-安装-Git.md"
            },
            {
              "text": "git 初次运行Git前的配置",
              "link": "/git/git-初次运行Git前的配置.md"
            },
            {
              "text": "git 区分大小写",
              "link": "/git/git-区分大小写.md"
            },
            {
              "text": "git 生成 SSH 公钥",
              "link": "/git/git-生成-SSH-公钥.md"
            },
            {
              "text": "git add 命令语法",
              "link": "/git/git-add命令语法.md"
            },
            {
              "text": "git branch 命令语法",
              "link": "/git/git-branch命令语法.md"
            },
            {
              "text": "git checkout 命令介绍",
              "link": "/git/git-checkout命令.md"
            },
            {
              "text": "git clone 命令语法",
              "link": "/git/git-clone命令语法.md"
            },
            {
              "text": "git commit 命令语法",
              "link": "/git/git-commit命令语法"
            },
            {
              "text": "git fetch 命令语法",
              "link": "/git/git-fetch命令语法.md"
            },
            {
              "text": "git init 命令语法",
              "link": "/git/git-init命令语法.md"
            },
            {
              "text": "git log 命令语法",
              "link": "/git/git-log命令语法.md"
            },
            {
              "text": "git log嘎嘎好用的参数",
              "link": "/git/git-log嘎嘎好用的参数.md"
            },
            {
              "text": "git merge 命令语法",
              "link": "/git/git-merge命令语法.md"
            },
            {
              "text": "git pull 命令语法",
              "link": "/git/git-pull命令语法.md"
            },
            {
              "text": "git push 命令语法",
              "link": "/git/git-push命令语法.md"
            },
            {
              "text": "git rebase 命令语法",
              "link": "/git/git-rebase命令语法.md"
            },
            {
              "text": "git rebase 删除文件",
              "link": "/git/git-rebase删除文件.md"
            },
            {
              "text": "git reflog 命令语法",
              "link": "/git/git-reflog命令语法.md"
            },
            {
              "text": "git remote 命令语法",
              "link": "/git/git-remote命令语法.md"
            },
            {
              "text": "git reset 命令语法",
              "link": "/git/git-reset命令语法.md"
            },
            {
              "text": "git rm 命令语法",
              "link": "/git/git-rm-命令语法.md"
            },
            {
              "text": "git show 和 git log 的区别",
              "link": "/git/git-show和git-log的区别.md"
            },
            {
              "text": "git show 命令语法",
              "link": "/git/git-show命令语法.md"
            },
            {
              "text": "git stash 命令语法",
              "link": "/git/git-stash命令语法.md"
            },
            {
              "text": "git status 命令语法",
              "link": "/git/git-status命令语法.md"
            },
            {
              "text": "git tag 命令语法",
              "link": "/git/git-tag命令语法.md"
            },
            {
              "text": "Mac m2 安装 nvm 报错",
              "link": "/git/install-nvm.md"
            },
            {
              "text": "git 如何移除已经git commit的目录",
              "link": "/git/git-如何移除已经git-commit的目录.md"
            },
            {
              "text": "git 如何给git仓库瘦身减少.git仓库的大小",
              "link": "/git/git-如何给git仓库瘦身减少.git仓库的大小.md"
            }
          ]
        },
        {
          "text": "🍄 Linux",
          "collapsed": true,
          "items": [
            {
              "text": "Linux课程概览",
              "link": "/linux/Linux快速入门/0-Linux课程概览.md"
            },
            {
              "text": "什么是服务器",
              "link": "/linux/Linux快速入门/1-什么是服务器.md"
            },
            {
              "text": "什么是Linux",
              "collapsed": true,
              "items": [
                {
                  "text": "Linux介绍",
                  "link": "/linux/Linux快速入门/2-什么是Linux/1-Linux介绍.md"
                },
                {
                  "text": "CentOS是什么",
                  "link": "/linux/Linux快速入门/2-什么是Linux/2-CentOS是什么"
                },
                {
                  "text": "Centos不再维护",
                  "link": "/linux/Linux快速入门/2-什么是Linux/3-Centos不再维护"
                },
                {
                  "text": "Centos7和Centos8的区别",
                  "link": "/linux/Linux快速入门/2-什么是Linux/4-Centos7和Centos8的区别"
                },
                {
                  "text": "Centos和Ubuntu的区别",
                  "link": "/linux/Linux快速入门/2-什么是Linux/5-Centos和Ubuntu的区别"
                }
              ]
            },
            {
              "text": "如何拥有自己的云服务器",
              "link": "/linux/Linux快速入门/3-如何拥有自己的云服务器.md"
            },
            {
              "text": "登录云服务器",
              "link": "/linux/Linux快速入门/4-登录云服务器.md"
            },
            {
              "text": "Linux常用的命令",
              "link": "/linux/Linux快速入门/5-Linux常用的命令.md"
            },
            {
              "text": "CentOS安装常见应用",
              "collapsed": true,
              "items": [
                {
                  "text": "Centos和RockyLinux安装git",
                  "link": "/linux/Linux快速入门/6-CentOS安装常见应用/1-Centos和RockyLinux安装git.md"
                },
                {
                  "text": "Centos和RockyLinux安装nginx",
                  "link": "/linux/Linux快速入门/6-CentOS安装常见应用/2-Centos和RockyLinux安装nginx.md"
                },
                {
                  "text": "Centos如何安装nodejs-国内镜像",
                  "link": "/linux/Linux快速入门/6-CentOS安装常见应用/3-Centos如何安装nodejs-国内镜像.md"
                },
                {
                  "text": "Centos如何安装nodejs",
                  "link": "/linux/Linux快速入门/6-CentOS安装常见应用/4-Centos如何安装nodejs.md"
                },
                {
                  "text": "Centos如何安装Docker",
                  "link": "/linux/Linux快速入门/6-CentOS安装常见应用/5-Centos如何安装Docker.md"
                }
              ]
            },
            {
              "text": "vi和vim的基本使用",
              "link": "/linux/Linux快速入门/7-vi和vim的基本使用.md"
            },
            {
              "text": "CentOS部署项目例子",
              "link": "/linux/Linux快速入门/8-CentOS部署项目例子.md"
            },
            {
              "text": "Linux 快速开始",
              "link": "/linux/quick-start.md"
            },
            {
              "text": "在 openWrt 操作系统上安装 node.js 步骤",
              "link": "/linux/openWrt.md"
            },
            {
              "text": "scp 命令拷贝本地文件到远程服务器",
              "link": "/linux/scp-copy-file-to-remote-server.md"
            }
          ]
        },
        {
          "text": "🥭 Docker",
          "collapsed": true,
          "items": [
            {
              "text": "解决docker无法安装和拉取镜像问题",
              "link": "/docker/guides/0-解决docker无法安装和拉取镜像问题.md"
            },
            {
              "text": "获取Docker",
              "link": "/docker/guides/0-获取Docker.md"
            },
            {
              "text": "Docker指南",
              "link": "/docker/guides/1-docker指南.md"
            },
            {
              "text": "Docker概览",
              "link": "/docker/guides/2-docker概览.md"
            },
            {
              "text": "开始使用",
              "collapsed": true,
              "items": [
                {
                  "text": "概览",
                  "link": "/docker/guides/3-开始使用.md"
                },
                {
                  "text": "快速实践指南",
                  "collapsed": true,
                  "items": [
                    {
                      "text": "1-什么是容器",
                      "link": "/docker/guides/3-开始使用-快速实践指南/1-什么是容器.md"
                    },
                    {
                      "text": "2-运行一个容器",
                      "link": "/docker/guides/3-开始使用-快速实践指南/2-运行一个容器.md"
                    },
                    {
                      "text": "3-运行docker-hub镜像",
                      "link": "/docker/guides/3-开始使用-快速实践指南/3-运行docker-hub镜像.md"
                    },
                    {
                      "text": "4-多容器应用程序",
                      "link": "/docker/guides/3-开始使用-快速实践指南/4-多容器应用程序.md"
                    },
                    {
                      "text": "5-保留容器数据",
                      "link": "/docker/guides/3-开始使用-快速实践指南/5-保留容器数据.md"
                    },
                    {
                      "text": "6-访问本地文件夹",
                      "link": "/docker/guides/3-开始使用-快速实践指南/6-访问本地文件夹.md"
                    },
                    {
                      "text": "7-容器化您的应用程序",
                      "link": "/docker/guides/3-开始使用-快速实践指南/7-容器化您的应用程序.md"
                    },
                    {
                      "text": "8-将您的镜像发布到Docker-Hub",
                      "link": "/docker/guides/3-开始使用-快速实践指南/8-将您的镜像发布到Docker-Hub.md"
                    }
                  ]
                },
                {
                  "text": "入门指南",
                  "collapsed": true,
                  "items": [
                    {
                      "text": "第 1 部分:概览",
                      "link": "/docker/guides/3-开始使用-快速入门/第1部分:概览.md"
                    },
                    {
                      "text": "第 2 部分:容器化应用程序",
                      "link": "/docker/guides/3-开始使用-快速入门/第2部分:容器化应用程序.md"
                    },
                    {
                      "text": "第 3 部分:更新应用程序",
                      "link": "/docker/guides/3-开始使用-快速入门/第3部分:更新应用程序.md"
                    },
                    {
                      "text": "第 4 部分:分享应用程序",
                      "link": "/docker/guides/3-开始使用-快速入门/第4部分:分享应用程序.md"
                    },
                    {
                      "text": "第 5 部分:持久化数据库",
                      "link": "/docker/guides/3-开始使用-快速入门/第5部分:持久化数据库.md"
                    },
                    {
                      "text": "第 6 部分:使用绑定挂载",
                      "link": "/docker/guides/3-开始使用-快速入门/第6部分:使用绑定挂载.md"
                    },
                    {
                      "text": "第 7 部分:多容器应用",
                      "link": "/docker/guides/3-开始使用-快速入门/第7部分:多容器应用.md"
                    },
                    {
                      "text": "第 8 部分:使用 Docker Compose",
                      "link": "/docker/guides/3-开始使用-快速入门/第8部分:使用DockerCompose.md"
                    },
                    {
                      "text": "第 9 部分:构建镜像的最佳实践",
                      "link": "/docker/guides/3-开始使用-快速入门/第9部分:构建镜像的最佳实践.md"
                    },
                    {
                      "text": "第 10 部分:接下来做什么?",
                      "link": "/docker/guides/3-开始使用-快速入门/第10部分:接下来做什么.md"
                    }
                  ]
                }
              ]
            },
            {
              "text": "Docker概念",
              "collapsed": true,
              "items": [
                {
                  "text": "基础知识",
                  "collapsed": false,
                  "items": [
                    {
                      "text": "什么是容器?",
                      "link": "/docker/guides/4-docker概念-基础知识/1-什么是容器.md"
                    },
                    {
                      "text": "什么是镜像?",
                      "link": "/docker/guides/4-docker概念-基础知识/2-什么是镜像.md"
                    },
                    {
                      "text": "什么是镜像仓库?",
                      "link": "/docker/guides/4-docker概念-基础知识/3-什么是镜像仓库.md"
                    },
                    {
                      "text": "什么是Docker Compose?",
                      "link": "/docker/guides/4-docker概念-基础知识/4-什么是docker-compose.md"
                    }
                  ]
                },
                {
                  "text": "构建镜像",
                  "collapsed": false,
                  "items": [
                    {
                      "text": "理解镜像层",
                      "link": "/docker/guides/4-docker概念-构建镜像/1-理解镜像层.md"
                    },
                    {
                      "text": "编写Dockerfile",
                      "link": "/docker/guides/4-docker概念-构建镜像/2-编写Dockerfile.md"
                    },
                    {
                      "text": "构建、标记和发布镜像",
                      "link": "/docker/guides/4-docker概念-构建镜像/3-构建、标记和发布镜像.md"
                    },
                    {
                      "text": "使用构建缓存",
                      "link": "/docker/guides/4-docker概念-构建镜像/4-使用构建缓存.md"
                    },
                    {
                      "text": "多阶段构建",
                      "link": "/docker/guides/4-docker概念-构建镜像/5-多阶段构建.md"
                    }
                  ]
                }
              ]
            },
            {
              "text": "特定语言指南概览",
              "collapsed": true,
              "items": [
                {
                  "text": "概览",
                  "link": "/docker/guides/5-特定语言指南概览/概览.md"
                },
                {
                  "text": "Node.js",
                  "collapsed": true,
                  "items": [
                    {
                      "text": "概览",
                      "link": "/docker/guides/5-特定语言指南概览/Node.js/1-概览.md"
                    },
                    {
                      "text": "容器化你的应用",
                      "link": "/docker/guides/5-特定语言指南概览/Node.js/2-容器化你的应用.md"
                    },
                    {
                      "text": "开发你的应用",
                      "link": "/docker/guides/5-特定语言指南概览/Node.js/3-开发你的应用.md"
                    },
                    {
                      "text": "测试你的应用",
                      "link": "/docker/guides/5-特定语言指南概览/Node.js/4-测试你的应用.md"
                    },
                    {
                      "text": "配置CI/CD",
                      "link": "/docker/guides/5-特定语言指南概览/Node.js/5-配置CI-CD.md"
                    },
                    {
                      "text": "测试你的部署",
                      "link": "/docker/guides/5-特定语言指南概览/Node.js/6-测试你的部署.md"
                    }
                  ]
                },
                {
                  "text": "Java",
                  "collapsed": true,
                  "items": [
                    {
                      "text": "概览",
                      "link": "/docker/guides/5-特定语言指南概览/Java/1-概览.md"
                    },
                    {
                      "text": "容器化你的应用",
                      "link": "/docker/guides/5-特定语言指南概览/Java/2-容器化你的应用.md"
                    },
                    {
                      "text": "开发化你的应用",
                      "link": "/docker/guides/5-特定语言指南概览/Java/3-开发化你的应用.md"
                    },
                    {
                      "text": "测试化你的应用",
                      "link": "/docker/guides/5-特定语言指南概览/Java/4-测试化你的应用.md"
                    },
                    {
                      "text": "配置CI/CD",
                      "link": "/docker/guides/5-特定语言指南概览/Java/5-配置CI-CD.md"
                    },
                    {
                      "text": "测试你的部署",
                      "link": "/docker/guides/5-特定语言指南概览/Node.js/6-测试你的部署.md"
                    }
                  ]
                }
              ]
            },
            {
              "text": "用例指南",
              "collapsed": true,
              "items": [
                {
                  "text": "使用TensorFlow.js进行人脸检测",
                  "link": "/docker/guides/6-用例指南/tensorflowjs.md"
                }
              ]
            },
            {
              "text": "使用Docker开发",
              "collapsed": true,
              "items": [
                {
                  "text": "概览",
                  "link": "/docker/guides/7-使用Docker开发/1-概览.md"
                },
                {
                  "text": "开发最佳实践",
                  "link": "/docker/guides/7-使用Docker开发/2-开发最佳实践.md"
                },
                {
                  "text": "Dockerfile最佳实践",
                  "collapsed": true,
                  "items": [
                    {
                      "text": "概览",
                      "link": "/docker/guides/7-使用Docker开发/3-Dockerfile最佳实践/1-概览.md"
                    },
                    {
                      "text": "一般指南",
                      "link": "/docker/guides/7-使用Docker开发/3-Dockerfile最佳实践/2-一般指南.md"
                    },
                    {
                      "text": "Dockerfile指令的最佳实践",
                      "link": "/docker/guides/7-使用Docker开发/3-Dockerfile最佳实践/3-Dockerfile指令的最佳实践.md"
                    }
                  ]
                },
                {
                  "text": "安全最佳实现",
                  "link": "/docker/guides/7-使用Docker开发/4-安全最佳实现.md"
                }
              ]
            },
            {
              "text": "使用Docker构建",
              "collapsed": true,
              "items": [
                {
                  "text": "概览",
                  "link": "/docker/guides/8-使用Docker构建/1-概览.md"
                },
                {
                  "text": "简介",
                  "link": "/docker/guides/8-使用Docker构建/2-简介.md"
                },
                {
                  "text": "层级",
                  "link": "/docker/guides/8-使用Docker构建/3-层级.md"
                },
                {
                  "text": "多阶段构建",
                  "link": "/docker/guides/8-使用Docker构建/4-多阶段构建.md"
                },
                {
                  "text": "挂载",
                  "link": "/docker/guides/8-使用Docker构建/5-挂载.md"
                },
                {
                  "text": "构建参数",
                  "link": "/docker/guides/8-使用Docker构建/6-构建参数.md"
                },
                {
                  "text": "导出二进制文",
                  "link": "/docker/guides/8-使用Docker构建/7-导出二进制文件.md"
                },
                {
                  "text": "测试",
                  "link": "/docker/guides/8-使用Docker构建/8-测试.md"
                },
                {
                  "text": "多平台构建",
                  "link": "/docker/guides/8-使用Docker构建/9-多平台构建.md"
                },
                {
                  "text": "后续步骤",
                  "link": "/docker/guides/8-使用Docker构建/10-后续步骤.md"
                }
              ]
            },
            {
              "text": "部署和编排",
              "collapsed": true,
              "items": [
                {
                  "text": "概览",
                  "link": "/docker/guides/9-部署和编排/1-概览.md"
                },
                {
                  "text": "部署到Kubernetes",
                  "link": "/docker/guides/9-部署和编排/2-部署到Kubernetes.md"
                },
                {
                  "text": "部署到Swarm",
                  "link": "/docker/guides/9-部署和编排/3-部署到Swarm.md"
                }
              ]
            },
            {
              "text": "学习资源",
              "link": "/docker/guides/10-学习资源.md"
            },
            {
              "text": "Docker常用命令",
              "link": "/docker/docker-常用命令.md"
            },
            {
              "text": "docker-版本后缀",
              "link": "/docker/docker-版本后缀.md"
            },
            {
              "text": "docker volumes",
              "link": "/docker/docker-volumes.md"
            },
            {
              "text": "docker volumes绑定挂载",
              "link": "/docker/docker-volumes-bind-mounts.md"
            },
            {
              "text": "docker run --mount 和 -v 的区别",
              "link": "/docker/docker-volumes-使用--mount和-v的区别.md"
            },
            {
              "text": "docker-多阶段构建",
              "link": "/docker/docker-多阶段构建.md"
            },
            {
              "text": "docker-概念与命令",
              "link": "/docker/docker-概念与命令.md"
            },
            {
              "text": "docker-滚动更新",
              "link": "/docker/docker-滚动更新.md"
            },
            {
              "text": "docker-推送镜像",
              "link": "/docker/docker-推送镜像.md"
            },
            {
              "text": "docker compose",
              "link": "/docker/docker-compose.md"
            },
            {
              "text": "docker dockerfile",
              "link": "/docker/docker-dockerfile.md"
            },
            {
              "text": "docker dockerfile en",
              "link": "/docker/docker-dockerfile-en.md"
            },
            {
              "text": "docker-部署tts",
              "link": "/docker/docker-tts.md"
            },
            {
              "text": "如何在浏览器上写代码",
              "link": "/docker/docker-install-vscode.md"
            },
            {
              "text": "docker-镜像加速器",
              "link": "/docker/docker-镜像加速器.md"
            },
            {
              "text": "docker 安装失败",
              "link": "/docker/docker安装失败.md"
            },
            {
              "text": "docker swarm教程",
              "link": "/docker/docker-swarm教程.md"
            },
            {
              "text": "docker nginx 部署项目",
              "collapsed": true,
              "items": [
                {
                  "text": "1. 前端vite.config.js配置 gzip/br 压缩",
                  "link": "/docker/dockerNginx部署项目/1-vite-gzip-br.md"
                },
                {
                  "text": "2. 前端项目docker nginx 配置",
                  "link": "/docker/dockerNginx部署项目/2-docker-nginx-gzip-br.md"
                },
                {
                  "text": "3. docker nginx https 配置",
                  "link": "/docker/dockerNginx部署项目/3-docker-nginx-https配置.md"
                },
                {
                  "text": "4. docker nginx http2 配置",
                  "link": "/docker/dockerNginx部署项目/4-docker-nginx-http2.md"
                },
                {
                  "text": "5. 综合实战项目部署到云服务器",
                  "link": "/docker/dockerNginx部署项目/5-综合实战项目部署到云服务器.md"
                },
                {
                  "text": "6. Jenkins 方式自动化部署项目",
                  "link": "/docker/dockerNginx部署项目/6-Jenkins方式自动化部署项目.md"
                }
              ]
            }
          ]
        },
        {
          "text": "🥔 Nginx",
          "collapsed": true,
          "items": [
            {
              "text": "nginx入门到精通",
              "link": "/nginx/0-nginx入门到精通.md"
            },
            {
              "text": "1-nginx的介绍",
              "link": "/nginx/1-nginx的介绍.md"
            },
            {
              "text": "2-nginx安装指南",
              "link": "/nginx/2-nginx安装指南.md"
            },
            {
              "text": "3-nginx初学者指南",
              "link": "/nginx/3-nginx初学者指南.md"
            },
            {
              "text": "3-nginx控制nginx",
              "link": "/nginx/3-nginx控制nginx.md"
            },
            {
              "text": "3-nginx部署前端Vue项目例子",
              "link": "/nginx/3-nginx部署前端Vue项目例子.md"
            },
            {
              "text": "4-nginx前端开发环境反向代理例子",
              "link": "/nginx/4-nginx前端开发环境反向代理例子.md"
            },
            {
              "text": "5-nginx.conf配置文件介绍和include指令介绍",
              "link": "/nginx/5-nginx.conf和include指令介绍"
            },
            {
              "text": "6-nginx.conf和include指令例子",
              "link": "/nginx/6-nginx.conf和include指令例子.md"
            },
            {
              "text": "6-nginx-types指令介绍",
              "link": "/nginx/6-nginx-types指令介绍.md"
            },
            {
              "text": "7-nginx location 指令介绍",
              "link": "/nginx/7-nginx-location.md"
            },
            {
              "text": "8-nginx的root和alias区别",
              "link": "/nginx/8-nginx的root和alias区别.md"
            },
            {
              "text": "9-nginx变量介绍",
              "link": "/nginx/9-nginx变量介绍.md"
            },
            {
              "text": "10-nginx-rewrite重写",
              "link": "/nginx/10-nginx-rewrite.md"
            },
            {
              "text": "11-nginx-log日志介绍",
              "link": "/nginx/11-nginx-log日志介绍.md"
            },
            {
              "text": "12-nginx-worker_processes",
              "link": "/nginx/12-nginx-worker_processes.md"
            },
            {
              "text": "13-nginx-events事件",
              "link": "/nginx/13-nginx-events.md"
            },
            {
              "text": "14-nginx-http-缓存和超时配置",
              "link": "/nginx/14-nginx-http-缓存和超时配置.md"
            },
            {
              "text": "15-nginx-动态模块",
              "link": "/nginx/15-nginx-动态模块.md"
            },
            {
              "text": "16-nginx-https",
              "link": "/nginx/16-nginx-https.md"
            },
            {
              "text": "17-nginx-http2",
              "link": "/nginx/17-nginx-http2.md"
            },
            {
              "text": "18-nginx-http3",
              "link": "/nginx/18-nginx-http3.md"
            },
            {
              "text": "19-nginx-gzip",
              "link": "/nginx/19-nginx-gzip.md"
            },
            {
              "text": "20-nginx-brotli",
              "link": "/nginx/20-nginx-brotli.md"
            },
            {
              "text": "21-前端vite.config.js配置 gzip/br 压缩",
              "link": "/nginx/21-vite-gzip-brotli.md"
            },
            {
              "text": "22-前端项目 docker nginx 配置",
              "link": "/nginx/22-nginx-gzip-br.md"
            },
            {
              "text": "23-nginx-反向代理",
              "link": "/nginx/23-nginx-反向代理.md"
            },
            {
              "text": "24-nginx-auth-basic",
              "link": "/nginx/24-nginx-auth-basic.md"
            },
            {
              "text": "25-nginx-负载均衡",
              "link": "/nginx/25-nginx-负载均衡.md"
            },
            {
              "text": "Nginx 在 Windows 上的基本配置示例",
              "link": "/nginx/nginx-config-windows.md"
            },
            {
              "text": "nginx gzip压缩配置",
              "link": "/nginx/nginx-gzip压缩配置.md"
            },
            {
              "text": "nginx brotli压缩配置",
              "link": "/nginx/nginx-brotli压缩配置.md"
            },
            {
              "text": "nginx ERR_HTTP2_PROTOCOL_ERROR",
              "link": "/nginx/nginx-ERR_HTTP2_PROTOCOL_ERROR.md"
            },
            {
              "text": "nginx-user和pid指令",
              "link": "/nginx/nginx-user和pid指令.md"
            },
            {
              "text": "nginx-openssl自签名证书",
              "link": "/nginx/nginx-openssl自签名证书.md"
            },
            {
              "text": "nginx http3配置",
              "link": "/nginx/nginx-http3.md"
            },
            {
              "text": "nginx http3指令顺序和http协议回退优先使用http3",
              "link": "/nginx/nginx-http3指令顺序和http协议回退优先使用http3.md"
            },
            {
              "text": "直播讲解 docker + nginx ",
              "link": "/nginx/nginx-0-index.md",
              "collapsed": true,
              "items": [
                {
                  "text": "1-使用 docker 安装 nginx",
                  "link": "/nginx/nginx-1-使用docker安装nginx.md"
                },
                {
                  "text": "2-docker 镜像与容器的关系",
                  "link": "/nginx/nginx-2-docker镜像与容器的关系.md"
                },
                {
                  "text": "3-docker 常用的命令",
                  "link": "/nginx/nginx-3-docker常用的命令.md"
                },
                {
                  "text": "4-Dockerfile 和 docker-compose.yml 介绍",
                  "link": "/nginx/nginx-4-Dockerfile和docker-compose.yml介绍.md"
                },
                {
                  "text": "5-nginx 是什么、nginx 配置文件介绍",
                  "link": "/nginx/nginx-5-nginx是什么-nginx配置文件介绍.md"
                },
                {
                  "text": "6-nginx 部署前端项目(gzip 和 br 压缩)",
                  "link": "/nginx/nginx-6-nginx部署前端项目(gzip和br压缩).md"
                },
                {
                  "text": "7-nginx 反向代理-本地开发环境",
                  "link": "/nginx/nginx-7-nginx反向代理-本地开发环境.md"
                },
                {
                  "text": "8-实战 docker+nginx 部署前端、后端、数据库项目",
                  "link": "/nginx/nginx-8-实战docker+nginx部署前端、后端、数据库项目.md"
                }
              ]
            }
          ]
        },
        {
          "text": "🥑 Jenkins",
          "collapsed": true,
          "items": [
            {
              "text": "jenkins.md",
              "link": "/jenkins/jenkins.md"
            },
            {
              "text": "Jenkins快速入门",
              "link": "/jenkins/Jenkins快速入门.md"
            },
            {
              "text": "快速搭建Jenkins平台",
              "link": "/jenkins/quick-start-jenkins.md"
            },
            {
              "text": "README.md",
              "link": "/jenkins/README.md"
            }
          ]
        },
        {
          "text": "🥪 Kubernetes",
          "collapsed": true,
          "items": [
            {
              "text": "kubernetes 快速入门",
              "link": "/kubernetes/quick-start.md"
            }
          ]
        },
        {
          "text": "🍘 TypeScript",
          "collapsed": true,
          "items": [
            {
              "text": "TS !. 和?.的区别",
              "link": "/typescript/ts-nonnull-optionalchain-operators.md"
            }
          ]
        },
        {
          "text": "🍉 旅行",
          "collapsed": true,
          "items": [
            {
              "text": "新疆北疆旅行",
              "link": "/travel/README.md"
            },
            {
              "text": "深圳搬家计划",
              "link": "/travel/深圳搬家计划.md"
            }
          ]
        },
        {
          "text": "🥕 模拟面试",
          "collapsed": true,
          "items": [
            {
              "text": "30k前端面试题",
              "collapsed": true,
              "items": [
                {
                  "text": "vue3-watch-vs-watchEffect",
                  "link": "/interview/30k/vue3-watch-vs-watchEffect.md"
                },
                {
                  "text": "vue3-watchEffect-vs-react-useEffect",
                  "link": "/interview/30k/vue3-watchEffect-vs-react-useEffect.md"
                },
                {
                  "text": "笔试2024/3/28",
                  "link": "/interview/30k/笔试题.md"
                },
                {
                  "text": "面试2024/3/28",
                  "link": "/interview/30k/面试题.md"
                },
                {
                  "text": "Webrtc 面试题",
                  "link": "/interview/30k/webrtc.md"
                },
                {
                  "text": "WebSocket 面试题",
                  "link": "/interview/30k/websocket.md"
                }
              ]
            },
            {
              "text": "javascript",
              "items": [
                {
                  "text": "数组必知必会",
                  "link": "/interview/javascript/array.md"
                }
              ]
            },
            {
              "text": "2023-09-17 初级前端工程师试卷-11",
              "link": "/interview/0917.md"
            },
            {
              "text": "2023-09-16 初级前端工程师试卷-10",
              "link": "/interview/0916.md"
            },
            {
              "text": "2023-09-15 初级前端工程师试卷-9",
              "link": "/interview/0915.md"
            },
            {
              "text": "2023-09-14 初级前端工程师试卷-8",
              "link": "/interview/0914.md"
            },
            {
              "text": "2023-09-13 初级前端工程师试卷-7",
              "link": "/interview/0913.md"
            },
            {
              "text": "2023-09-12 初级前端工程师试卷-6",
              "link": "/interview/0912.md"
            },
            {
              "text": "2023-09-11 初级前端工程师试卷-5",
              "link": "/interview/0911.md"
            },
            {
              "text": "2023-09-10 初级前端工程师试卷-4",
              "link": "/interview/0910.md"
            },
            {
              "text": "2023-09-09 初级前端工程师试卷-3",
              "link": "/interview/0909.md"
            },
            {
              "text": "2023-09-08 初级前端工程师试卷-2",
              "link": "/interview/0908.md"
            },
            {
              "text": "2023-09-07 初级前端工程师试卷-1",
              "link": "/interview/0907.md"
            },
            {
              "text": "2023-09-06 中级前端工程师试卷-1",
              "link": "/interview/0906.md"
            },
            {
              "text": "2023年7月24日",
              "link": "/interview/0724.md"
            },
            {
              "text": "2023年7月20日",
              "link": "/interview/0720.md"
            },
            {
              "text": "2023年7月19日",
              "link": "/interview/0719.md"
            },
            {
              "text": "2023年7月18日",
              "link": "/interview/0718.md"
            },
            {
              "text": "2023年7月17日",
              "link": "/interview/0717.md"
            },
            {
              "text": "2023年7月16日",
              "link": "/interview/0716.md"
            },
            {
              "text": "2023年7月15日",
              "link": "/interview/0715.md"
            },
            {
              "text": "2023年7月14日",
              "link": "/interview/0714.md"
            },
            {
              "text": "2023年6月23日",
              "link": "/interview/0623.md"
            },
            {
              "text": "2023年6月22日",
              "link": "/interview/0622.md"
            }
          ]
        },
        {
          "text": "🍓 VitePress",
          "collapsed": true,
          "items": [
            {
              "text": "VitePress 快速开始",
              "link": "/vitepress/vitepress-quick-start.md"
            },
            {
              "text": "VitePress 深入学习",
              "link": "/vitepress/vitepress-advanced-guide.md"
            },
            {
              "text": "VitePress 部署上线",
              "link": "/vitepress/vitepress-deploy.md"
            },
            {
              "text": "vitepress 代码块高亮语言",
              "link": "/vitepress/vitepress-代码块高亮语言.md"
            },
            {
              "text": "Vitepress 默认主题改变了??",
              "link": "/vitepress/vitepress-custom-theme.md"
            },
            {
              "text": "vitepress-tab切换",
              "link": "/vitepress/vitepress-tab切换.md"
            },
            {
              "text": "VitePress 支持gzip和brotli压缩",
              "link": "/vitepress/vitepress-gzip-brotli-config.md"
            },
            {
              "text": "vitepress public 下载下来的文件打不开、图片图片打不开等问题",
              "link": "/vitepress/vitepress-download-file-error.md"
            },
            {
              "text": "vitepress FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory",
              "link": "/vitepress/vitepress-reached-heap-limit-allocation-failed.md"
            }
          ]
        },
        {
          "text": "🍈 VMware虚拟机",
          "collapsed": true,
          "items": [
            {
              "text": "如何安装VMWare并且在VMware中安装Windows7和Windows10虚拟机.md",
              "link": "/vmware/如何安装VMWare并且在VMware中安装Windows7和Windows10虚拟机.md"
            }
          ]
        },
        {
          "text": "🍚 微信公众号",
          "collapsed": true,
          "items": [
            {
              "text": "微信小程序",
              "collapsed": true,
              "items": [
                {
                  "text": "格式化代码",
                  "link": "/wechat/微信小程序/格式化代码.md"
                },
                {
                  "text": "开发遇到的问题",
                  "link": "/wechat/微信小程序/开发遇到的问题.md"
                }
              ]
            },
            {
              "text": "公众号相关",
              "link": "/wechat/微信公众号相关.md"
            },
            {
              "text": "微信分享",
              "link": "/wechat/微信分享.md"
            },
            {
              "text": "微信小程序开发指南",
              "link": "/wechat/微信小程序开发指南.md"
            },
            {
              "text": "微信浏览器拉起第三方应用",
              "link": "/wechat/微信浏览器拉起第三方应用.md"
            }
          ]
        },
        {
          "text": "🦄 Windows",
          "collapsed": true,
          "items": [
            {
              "text": "Windows11 更改 pin 登录为密码登录",
              "link": "/windows/windows11-change-pin-to-password.md"
            }
          ]
        },
        {
          "text": "🍐 Examples",
          "collapsed": true,
          "items": [
            {
              "text": "Markdown Examples",
              "link": "/markdown-examples"
            },
            {
              "text": "Runtime API Examples",
              "link": "/api-examples"
            }
          ]
        },
        {
          "text": "🍐 剪映",
          "collapsed": true,
          "items": [
            {
              "text": "抖音上传4k清晰的视频方法",
              "link": "/jianying/抖音上传4k清晰的视频方法.md"
            }
          ]
        },
        {
          "text": "🥝 图标",
          "items": [
            {
              "text": "水果图标",
              "link": "/icons/fruit-icon.md"
            }
          ]
        }
      ]
    },
    {
      "text": "🍍 技术调研",
      "collapsed": true,
      "items": [
        {
          "text": "使用 Sortable.js、Dragula 和 Gridstack.js 实现可拖拽表格",
          "link": "/research/draggable-table-with-js-lib.md"
        },
        {
          "text": "去抖 vs 节流",
          "link": "/research/debounce-vs-throttle.md"
        },
        {
          "text": "排序算法的使用",
          "link": "/research/using-sorting-algorithms.md"
        }
      ]
    }
  ],
  "socialLinks": [
    {
      "icon": "github",
      "link": "https://github.com/xieerduos"
    },
    {
      "icon": {
        "svg": "<svg id=\"douyin\" t=\"1570181112474\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2916\" width=\"128\" height=\"128\"> <path d=\"M937.386667 423.850667a387.84 387.84 0 0 1-232.874667-77.824v352.341333C704.512 878.250667 565.930667 1024 394.922667 1024S85.333333 878.250667 85.333333 698.368c0-179.882667 138.581333-325.632 309.589334-325.632 17.066667 0 33.706667 1.450667 49.92 4.266667v186.624a131.754667 131.754667 0 0 0-48.64-9.216c-76.288 0-138.154667 65.024-138.154667 145.322666 0 80.213333 61.866667 145.322667 138.24 145.322667 76.202667 0 138.069333-65.109333 138.069333-145.322667V0h172.714667c0 134.485333 103.68 243.541333 231.594667 243.541333v180.309334h-1.28\" p-id=\"2917\"></path> </svg>"
      },
      "link": "https://www.douyin.com/user/MS4wLjABAAAAkiur2fK3qQYKHtdnwzT2_ysUpdIbGRMJ_2l3cA_l_3A"
    }
  ],
  "footer": {
    "message": "<a href=\"https://beian.miit.gov.cn/\" target=\"_blank\">京ICP备20016634号-2</a>",
    "copyright": "Copyright © 2023-present shaohai.li"
  },
  "search": {
    "provider": "local",
    "options": {
      "miniSearch": {
        "options": {},
        "searchOptions": {}
      },
      "translations": {
        "button": {
          "buttonText": "搜索文档",
          "buttonAriaLabel": "搜索文档"
        },
        "modal": {
          "noResultsText": "没有找到结果",
          "resetButtonTitle": "清除搜索条件",
          "footer": {
            "selectText": "选择",
            "navigateText": "切换",
            "closeText": "关闭"
          }
        }
      }
    }
  }
}

Page Data

{
  "title": "Runtime API Examples",
  "description": "",
  "frontmatter": {
    "outline": "deep"
  },
  "headers": [],
  "relativePath": "api-examples.md",
  "filePath": "api-examples.md",
  "lastUpdated": 1685924049000
}

Page Frontmatter

{
  "outline": "deep"
}

More

Check out the documentation for the full list of runtime APIs.