1 line
81 KiB
Plaintext
1 line
81 KiB
Plaintext
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?5581","webpack:///./src/assets/svg/search.svg","webpack:///./src/assets/svg/translate.svg","webpack:///./src/App.vue","webpack:///./src/assets/Json/印象笔记.js","webpack:///./src/App.vue?97f5","webpack:///./src/main.js","webpack:///./src/assets/svg/github.svg","webpack:///./src/assets/svg/logo.svg","webpack:///./src/assets/svg/gitee.svg","webpack:///./src/assets/svg/blog.svg","webpack:///./src/assets/svg/file.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","class","id","href","target","src","title","width","height","viewBox","data-v-8739e5ce","fill","fill-rule","transform","x","y","stroke","stroke-width","rx","type","placeholder","searchVal","item","index","activeIndex","selectType","bookMark","tag","css","beforeEnter","enter","leave","card","idx","navigate","logo","desc","myData","children","url","contribute","is_docschina","repository","_id","_updateTime","team","homeBackup","imgStyle","objectFit","_createTime","rowData","setup","MyFunction","flatten","arr","Array","isArray","allData","open","filter","v","toLowerCase","indexOf","methods","el","style","opacity","done","gsap","to","delay","dataset","onComplete","render","__scopeId","app","createApp","App","mount"],"mappings":"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","file":"js/app.78ccd3f1.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=02724ab4&scoped=true&lang=scss\"","module.exports = __webpack_public_path__ + \"img/search.c77e1385.svg\";","module.exports = __webpack_public_path__ + \"img/translate.fa0bf271.svg\";","<template>\r\n <div class=\"bg\"></div>\r\n <div id=\"app\">\r\n <div class=\"bookmark\">\r\n <div class=\"tool-bar\">\r\n <div class=\"tool-logo\">\r\n <a href=\"\" target=\"_blank\"><img src=\"./assets/svg/logo.svg\" title=\"更多数据\" class=\"tool-icon\" />红隼书签</a>\r\n </div>\r\n <div>\r\n <!-- <img src=\"./assets/svg/more.svg\" class=\"tool-icon\" /> -->\r\n <div class=\"search-box\">\r\n <img src=\"./assets/svg/search.svg\">\r\n <input type=\"text\" placeholder=\"请输入书签名称\" v-model=\"searchVal\" />\r\n </div>\r\n <a title=\"我的博客\" href=\"https://zhanhongzhu.top\" target=\"_blank\"><img src=\"./assets/svg/blog.svg\" class=\"tool-icon\" /></a>\r\n <a title=\"在线翻译\" href=\"https://translate.google.cn\" target=\"_blank\"><img src=\"./assets/svg/translate.svg\" class=\"tool-icon\" /></a>\r\n <a title=\"我的码云\" href=\"https://gitee.com/zhanhongzhu/kestrel-bookmark\" target=\"_blank\"><img src=\"./assets/svg/gitee.svg\" class=\"tool-icon\" /></a>\r\n <a title=\"我的github\" href=\"https://github.com/zhanhongzhu/kestrel-bookmark\" target=\"_blank\"><img src=\"./assets/svg/github.svg\" class=\"tool-icon\" /></a>\r\n </div>\r\n </div>\r\n <!-- 侧边导航栏 -->\r\n <div class=\"box-m\">\r\n <div class=\"left-box\">\r\n <div class=\"label\" :class=\"activeIndex===index?'active':'inactive'\" v-for=\"(item,index) in data\" :key=\"index\" @click=\"selectType(item,index)\">\r\n <img src=\"./assets/svg/file.svg\" />\r\n <div class=\"text-elipss\"> {{item.type}} </div>\r\n </div>\r\n </div>\r\n <div class=\"right-box\">\r\n <transition-group v-if=\"bookMark.length\" name=\"staggered-fade\" class=\"card-s\" tag=\"ul\" :css=\"false\" @before-enter=\"beforeEnter\" @enter=\"enter\" @leave=\"leave\">\r\n <div class=\"card-item list-complete-item\" v-for=\"(card,idx) in bookMark\" :key=\"idx\" @click=\"navigate(card)\">\r\n <div class=\"logo-img\"><img :src=\"card.logo?card.logo:'/img/logo.f38dc2e8.svg'\" /></div>\r\n <div class=\"logo-box\">\r\n <span class=\"title\">{{card.title}}</span>\r\n <span class=\"subtitle\">{{card.desc}}</span>\r\n </div>\r\n </div>\r\n </transition-group>\r\n <!-- 无数据显示 -->\r\n <div v-if=\"!bookMark.length\" class=\"card-item-nodata\">\r\n <div>\r\n <svg width=\"66\" height=\"68\" viewBox=\"0 0 66 68\" class=\"icon empty-icon\" data-v-8739e5ce=\"\">\r\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(4 3)\" data-v-8739e5ce=\"\">\r\n <g fill=\"#F7F7F7\" data-v-8739e5ce=\"\">\r\n <path d=\"M9 10h23.751v3.221H9zM9 16.494h41.083v4.026H9zM9 26.104h23.751v3.221H9zM9 42.208h23.751v3.221H9zM9 33.351h41.083v4.026H9zM9 49.455h41.083v4.026H9z\" data-v-8739e5ce=\"\">\r\n </path>\r\n </g>\r\n <rect width=\"56\" height=\"60\" x=\"1.139\" y=\"1.338\" stroke=\"#EBEBEB\" stroke-width=\"2\" rx=\"6\" data-v-8739e5ce=\"\"></rect>\r\n </g>\r\n </svg><span class=\"empty-text\" data-v-8739e5ce=\"\">暂无数据</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { reactive, toRefs } from '@vue/reactivity'\r\nimport { myData } from './assets/Json/印象笔记.js'\r\nimport { watch } from '@vue/runtime-core'\r\nimport gsap from 'gsap'\r\nvar rowData = myData\r\nexport default {\r\n name: 'kestrel-bookmark',\r\n setup() {\r\n const { selectType, navigate } = MyFunction()\r\n // 扁平化数组\r\n function flatten(arr, result = []) {\r\n for (const item of arr) {\r\n if (Array.isArray(item.children)) {\r\n flatten(item.children, result)\r\n } else {\r\n result.push(item)\r\n }\r\n }\r\n return result\r\n }\r\n const data = reactive({\r\n activeIndex: 0,\r\n data: rowData,\r\n bookMark: rowData[0].children,\r\n searchVal: '',\r\n allData: flatten(rowData)\r\n })\r\n\r\n // 全部数据筛选功\r\n watch(\r\n () => data.searchVal,\r\n () => {\r\n data.bookMark = data.allData.filter((v) => v.title.toLowerCase().indexOf(data.searchVal.toLowerCase()) > -1\r\n )\r\n }\r\n )\r\n // 公共函数\r\n function MyFunction() {\r\n // 选择菜单\r\n function selectType(item, index) {\r\n data.bookMark = item.children\r\n data.activeIndex = index\r\n }\r\n // 链接跳转\r\n function navigate(card) {\r\n window.open(card.url, '_target')\r\n }\r\n return {\r\n selectType,\r\n navigate\r\n }\r\n }\r\n return {\r\n ...toRefs(data),\r\n selectType,\r\n navigate\r\n }\r\n },\r\n methods: {\r\n beforeEnter(el) {\r\n el.style.opacity = 0\r\n el.style.height = 0\r\n },\r\n enter(el, done) {\r\n gsap.to(el, {\r\n opacity: 1,\r\n height: '1.6em',\r\n delay: el.dataset.index * 0.15,\r\n onComplete: done\r\n })\r\n },\r\n leave(el, done) {\r\n gsap.to(el, {\r\n opacity: 0,\r\n height: 0,\r\n delay: el.dataset.index * 0.15,\r\n onComplete: done\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n#app {\r\n position: relative;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.bookmark {\r\n position: relative;\r\n margin-top: 10vh;\r\n width: 1200px;\r\n height: calc(80vh);\r\n border: 1px solid rgba(255, 255, 255, 0.18);\r\n box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2);\r\n border-radius: 6px;\r\n background: #fff;\r\n .left-box {\r\n width: 200px;\r\n height: 100%;\r\n border: 1px solid rgba(255, 255, 255, 0.18);\r\n box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2);\r\n position: relative;\r\n overflow-y: auto;\r\n padding: 8px 0;\r\n img {\r\n width: 20px;\r\n height: auto;\r\n margin-right: 5px;\r\n cursor: pointer;\r\n }\r\n .active {\r\n box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2);\r\n background: #a0cae6;\r\n }\r\n .inactive {\r\n box-shadow: none;\r\n background: #fff;\r\n }\r\n .label {\r\n font-size: 14px;\r\n display: flex;\r\n cursor: pointer;\r\n border: none;\r\n position: relative;\r\n padding: 10px 15px;\r\n &:hover {\r\n box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2);\r\n background: #a0cae6;\r\n }\r\n .text-elipss {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n }\r\n }\r\n .right-box {\r\n width: calc(100% - 200px);\r\n .card-s {\r\n width: 100%;\r\n padding-top: 10px;\r\n max-height: calc(80vh - 49px);\r\n // height:calc(100% - 48px);\r\n display: flex;\r\n flex-wrap: wrap;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n .card-item {\r\n cursor: pointer;\r\n width: calc(33% - 40px);\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n border: 1px solid rgba(255, 255, 255, 0.18);\r\n box-shadow: 0 8px 18px 0 rgba(31, 38, 135, 0.2);\r\n padding: 10px;\r\n margin: 7px 20px 7px 20px;\r\n position: relative;\r\n border-radius: 8px;\r\n max-height: 200px;\r\n height: 72px !important;\r\n &:hover {\r\n transform: scale(1.04);\r\n animation-delay: 0.3ms;\r\n animation: 0.3ms;\r\n box-shadow: 0 8px 18px 0 rgba(31, 38, 135, 0.3);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.tool-icon {\r\n width: 20px;\r\n height: 20px;\r\n object-fit: contain;\r\n display: inline-block;\r\n margin-right: 12px;\r\n cursor: pointer;\r\n &:hover {\r\n fill: '#3eaf7c';\r\n }\r\n}\r\n.tool-bar {\r\n height: 48px;\r\n border-bottom: 1px solid #eee;\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n background: rgb(250, 248, 248);\r\n .tool-logo {\r\n margin: 0 15px;\r\n a {\r\n color: #e03b5d;\r\n display: flex;\r\n align-items: center;\r\n }\r\n }\r\n .search-box {\r\n display: inline-block;\r\n position: relative;\r\n margin-right: 1rem;\r\n white-space: nowrap;\r\n img {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n z-index: 0;\r\n left: 0.6rem;\r\n margin: auto;\r\n width: 20px;\r\n height: auto;\r\n }\r\n input {\r\n text-align: initial;\r\n text-indent: initial;\r\n text-shadow: initial;\r\n text-transform: initial;\r\n word-spacing: initial;\r\n letter-spacing: initial;\r\n cursor: text;\r\n width: 14rem;\r\n height: 2rem;\r\n color: #4e6e8e;\r\n display: inline-block;\r\n border: 1px solid #eaecef;\r\n border-radius: 0.25rem;\r\n font-size: 0.9rem;\r\n line-height: 2rem;\r\n padding: 0 0.5rem 0 2rem;\r\n outline: none;\r\n transition: all 0.2s ease;\r\n background: transparent;\r\n background-size: auto;\r\n background-size: 1rem;\r\n }\r\n }\r\n}\r\n.box-m {\r\n display: flex;\r\n height: calc(100% - 50px);\r\n}\r\n.logo-img {\r\n width: 62px;\r\n height: 100%;\r\n margin-right: 14px;\r\n img {\r\n height: 100%;\r\n width: 100%;\r\n object-fit: contain;\r\n display: block;\r\n max-width: 70px;\r\n width: 62px;\r\n }\r\n}\r\n.logo-box {\r\n flex: 1;\r\n .title {\r\n width: 100%;\r\n max-width: 190px;\r\n display: block;\r\n padding-top: 3px;\r\n font-size: 16px;\r\n font-weight: bold;\r\n color: #000000;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n display: block;\r\n }\r\n .subtitle {\r\n width: 100%;\r\n position: relative;\r\n max-width: 185px;\r\n margin-top: 5px;\r\n font-size: 13px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n color: rgba(0, 0, 0, 0.7);\r\n display: block;\r\n }\r\n}\r\n.list-complete-item {\r\n transition: all 0.8s ease;\r\n display: inline-block;\r\n margin-right: 10px;\r\n}\r\n\r\n.list-complete-enter-from,\r\n.list-complete-leave-to {\r\n opacity: 0;\r\n transform: translateY(30px);\r\n}\r\n\r\n.list-complete-leave-active {\r\n position: absolute;\r\n}\r\n.card-item-nodata {\r\n height: 100%;\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n span {\r\n display: block;\r\n margin-top: 20px;\r\n color: #999;\r\n }\r\n}\r\n.bg {\r\n position: fixed;\r\n z-index: -999;\r\n position: fixed;\r\n height: 100%;\r\n width: 100%;\r\n background: url(./assets/bg.jpg);\r\n}\r\n</style>\r\n","export const myData = [{\r\n type: '语言文档和规范',\r\n children: [{\r\n desc: '提供 Web 技术文档,学习 Web 开发的最佳实践',\r\n url: 'https://developer.mozilla.org/zh-CN/docs/Web',\r\n logo: '',\r\n title: 'MDN'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/ecma262',\r\n desc: 'ECMAScript 2018 标准',\r\n url: 'https://ecma262.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/ecma.svg',\r\n title: 'ECMAScript'\r\n },\r\n {\r\n contribute: 'https://github.com/LinFeng1997/markdown-it-docs',\r\n desc: 'Markdown 解析器。完全支持 CommonMark 规范,并且进行语法扩展、提供可编写插件和快速编译',\r\n url: 'https://markdown-it.docschina.org/',\r\n is_docschina: true,\r\n title: 'markdown-it 中文文档',\r\n repository: 'https://github.com/markdown-it/markdown-it'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/GFM-docs',\r\n url: 'https://gfm.docschina.org/zh-hans/',\r\n is_docschina: true,\r\n title: 'GitHub 风格 Markdown 规范',\r\n repository: 'https://github.com/docschina/GFM-docs'\r\n },\r\n {\r\n url: 'https://www.markdownguide.org/basic-syntax/',\r\n title: 'Markdown 基本语法'\r\n },\r\n {\r\n contribute: 'https://github.com/xitu/graphql.github.io',\r\n desc: '一种用于 API 的查询语言',\r\n url: 'http://graphql.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/graphql.svg',\r\n title: 'GraphQL'\r\n },\r\n {\r\n contribute: 'https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md',\r\n desc: 'OpenAPI 规范为 RESTful API 定义了一个与语言无关的标准接口',\r\n url: 'https://swagger.io/docs/specification/about/',\r\n logo: 'https://cdn.docschina.org/home/logo/openapi.png',\r\n title: 'OpenAPI'\r\n },\r\n {\r\n contribute: 'https://github.com/json-schema-org/json-schema-spec',\r\n desc: 'JSON Schema 是一个词汇表,可以验证、注释和操作 JSON 文档',\r\n url: 'http://json-schema.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/json-schema.svg',\r\n title: 'JSON Schema'\r\n },\r\n {\r\n desc: '一门语言,帮助开发者构建可靠和高效软件',\r\n url: 'https://www.rust-lang.org/zh-CN/',\r\n logo: 'https://www.rust-lang.org/static/images/rust-logo-blk.svg',\r\n title: 'Rust'\r\n }],\r\n title: 'standard'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57b2d7881b8',\r\n _updateTime: 1614568539818,\r\n type: '视频音频',\r\n children: [{\r\n desc: '带解析器、能节省流量的 Web 视频播放器',\r\n url: 'https://h5player.bytedance.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/xgplayer.png',\r\n title: 'XGPlayer',\r\n repository: 'https://github.com/bytedance/xgplayer',\r\n team: '今日头条'\r\n },\r\n {\r\n desc: '奇舞团研制的 h5 播放器,它支持 mp4、m3u8、flv 等多种格式',\r\n url: 'http://chimee.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/75team.svg',\r\n title: 'Chimee',\r\n repository: 'https://github.com/Chimeejs/chimee',\r\n team: '360'\r\n },\r\n {\r\n desc: 'HTML5 视频播放器以纯 JavaScript 编写,不含 Flash',\r\n url: 'https://github.com/Bilibili/flv.js',\r\n logo: '',\r\n title: 'flv.js',\r\n team: '哔哩哔哩'\r\n }],\r\n title: 'media'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57508ba180c',\r\n type: '函数式编程',\r\n children: [{\r\n contribute: 'https://github.com/RxJS-CN/RxJS-Docs-CN/',\r\n desc: 'RxJS 是 Reactive Extensions 的 JavaScript 实现,可以通过响应式和函数式编程模型组合异步数据流',\r\n url: 'http://cn.rx.js.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/rxjs.png',\r\n title: 'RxJS'\r\n },\r\n {\r\n desc: '函数式和响应式的 JavaScript 框架',\r\n url: 'http://cyclejs.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/cyclejs.svg',\r\n title: 'Cycle.js'\r\n },\r\n {\r\n desc: '一款实用的 JavaScript 函数式编程库',\r\n url: 'http://ramda.cn/',\r\n logo: 'https://ramdajs.com/ramdaFilled_200x235.png',\r\n title: 'Ramda'\r\n }],\r\n title: 'functional'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56d1789876d',\r\n _updateTime: 1611132890668,\r\n type: 'Vue(Mobile)',\r\n children: [{\r\n desc: '移动端 Vue 组件库',\r\n url: 'https://youzan.github.io/vant/',\r\n logo: 'https://cdn.docschina.org/home/logo/vant.png',\r\n title: 'Vant',\r\n repository: 'https://github.com/youzan/vant',\r\n team: '有赞'\r\n },\r\n {\r\n desc: '基于 Vue 实现的精致移动端组件库',\r\n url: 'https://didi.github.io/cube-ui/',\r\n logo: 'https://cdn.docschina.org/home/logo/cube.png',\r\n title: 'Cube UI',\r\n repository: 'https://github.com/didi/cube-ui',\r\n team: '滴滴'\r\n },\r\n {\r\n desc: '面向金融场景的 Vue 移动端组件库',\r\n url: 'https://didi.github.io/mand-mobile/',\r\n logo: 'https://cdn.docschina.org/home/logo/mand.svg',\r\n title: 'Mand Mobile',\r\n repository: 'https://github.com/didi/mand-mobile',\r\n team: '滴滴'\r\n },\r\n {\r\n desc: '可视化 Mand Mobile 主题编辑器',\r\n url: 'https://mand-mobile.github.io/palette/',\r\n logo: 'https://cdn.docschina.org/home/logo/mand.svg',\r\n title: 'Mand Mobile Palette',\r\n repository: 'https://github.com/mand-mobile/palette',\r\n team: '滴滴'\r\n },\r\n {\r\n desc: '基于 Vue 的移动端跨平台 UI',\r\n url: 'https://weex.apache.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/weex.svg',\r\n title: 'Weex',\r\n repository: 'https://github.com/apache/incubator-weex',\r\n team: '阿里巴巴'\r\n }],\r\n title: 'vue-mobile'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57a3885d353',\r\n _updateTime: 1612263116672,\r\n type: '工具',\r\n children: [{\r\n contribute: 'https://github.com/xmoyking/localForage-cn',\r\n desc: '通过简单类似 localStorage API 的异步数据存储来改进你的 Web 应用程序的离线体验',\r\n url: 'https://localforage.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/lf.png',\r\n title: 'localForage'\r\n },\r\n {\r\n contribute: 'https://github.com/iamkun/dayjs',\r\n desc: '处理时间和日期的 JavaScript 函数库',\r\n url: 'https://day.js.org/zh-CN/',\r\n title: 'Day.js'\r\n },\r\n {\r\n contribute: 'https://github.com/moment/moment',\r\n desc: '处理时间和日期的 JavaScript 函数库',\r\n url: 'https://momentjs.com/docs/',\r\n title: 'Moment.js'\r\n },\r\n {\r\n desc: '一个现代的 JavaScript 工具库',\r\n url: 'http://lodash.think2011.net/',\r\n logo: 'https://cdn.docschina.org/home/logo/lodash.svg',\r\n title: 'Lodash'\r\n },\r\n {\r\n desc: 'jQuery API 速查表',\r\n url: 'http://hemin.cn/jq/',\r\n logo: 'https://cdn.docschina.org/home/logo/jquery.svg',\r\n title: 'jQuery API'\r\n },\r\n {\r\n desc: '高效精简强大的工具库',\r\n url: 'http://www.jquery123.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/jquery.svg',\r\n title: 'jQuery'\r\n },\r\n {\r\n desc: '轻量级的工具库',\r\n url: 'http://zeptojs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/zepto.png',\r\n title: 'Zepto'\r\n }],\r\n title: 'utils'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56a6fb97586',\r\n _updateTime: 1618062117484,\r\n type: 'React',\r\n children: [{\r\n contribute: 'https://github.com/docschina/create-react-app',\r\n desc: 'React 官方维护的创建 React 单页面应用的工具',\r\n url: 'https://cra.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/react.svg',\r\n title: 'Create React App'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/preact-www',\r\n desc: 'React 的 3kb 轻量化方案,拥有同样的 ES6 API',\r\n url: 'https://preactjs.com/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/preact.png',\r\n title: 'Preact'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/react-router.cn',\r\n desc: 'React 官方维护的路由库',\r\n url: 'https://react-router.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/react-router.svg',\r\n title: 'React-Router'\r\n },\r\n {\r\n contribute: 'https://github.com/dvajs/dva',\r\n desc: '基于 React 和 redux,具有 elm 风格的轻量级框架。',\r\n url: 'https://dvajs.com/',\r\n logo: '',\r\n title: 'dva'\r\n },\r\n {\r\n desc: 'Element UI 的 React 实现',\r\n url: 'https://elemefe.github.io/element-react/',\r\n logo: 'https://cdn.docschina.org/home/logo/element.svg',\r\n title: 'Element React',\r\n repository: 'https://github.com/eleme/element-react',\r\n team: '饿了么'\r\n },\r\n {\r\n desc: 'PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件',\r\n url: 'https://youzan.github.io/zent/zh/guides/install',\r\n logo: 'https://cdn.docschina.org/home/logo/zent.png',\r\n title: 'Zent',\r\n repository: 'https://github.com/youzan/zent',\r\n team: '有赞'\r\n },\r\n {\r\n desc: 'Nerv 是一款基于虚拟 DOM 技术的 JavaScript(TypeScript)库,它提供了与 React 16 一致的使用方式与 API,并且拥有更高的性能表现、更小的包大小以及更好的浏览器兼容性',\r\n url: 'https://nerv.aotu.io/',\r\n logo: 'https://camo.githubusercontent.com/3e1b76e514b895760055987f164ce6c95935a3aa/687474703a2f2f73746f726167652e333630627579696d672e636f6d2f6d74642f686f6d652f6c6f676f2d3278313531333833373932363730372e706e67',\r\n title: 'Nerv',\r\n repository: 'https://github.com/NervJS/nerv',\r\n team: '京东'\r\n },\r\n {\r\n desc: '基于 React 的移动端跨平台 UI',\r\n url: 'https://reactnative.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/react.svg',\r\n title: 'React Native',\r\n repository: 'https://github.com/reactnativecn/react-native.cn'\r\n },\r\n {\r\n desc: 'React Native 应用程序的路由和导航',\r\n url: 'https://reactnavigation.org/docs/getting-started',\r\n logo: 'https://reactnavigation.org/img/spiro.svg',\r\n title: 'React Navigation',\r\n repository: 'https://github.com/react-navigation'\r\n }],\r\n title: 'react'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56873ba5666',\r\n _updateTime: 1618062691090,\r\n type: 'web 框架',\r\n children: [{\r\n contribute: 'https://github.com/reactjs/zh-hans.reactjs.org',\r\n desc: '构建用户界面的 JavaScript 库',\r\n url: 'https://react.docschina.org',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/react.svg',\r\n title: 'React'\r\n },\r\n {\r\n contribute: 'https://github.com/vuejs/cn.vuejs.org',\r\n desc: '渐进式 JavaScript 框架',\r\n url: 'https://cn.vuejs.org/v2/guide/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue 2'\r\n },\r\n {\r\n contribute: 'https://github.com/vuejs/vue-next',\r\n desc: '渐进式 JavaScript 框架',\r\n url: 'https://v3.cn.vuejs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue 3'\r\n },\r\n {\r\n contribute: 'https://github.com/single-spa/single-spa',\r\n desc: 'JavaScript 框架,将多个微前端组合成一个应用程序',\r\n url: 'https://single-spa.js.org/',\r\n logo: 'https://single-spa.js.org/img/logo-white-bgblue.svg',\r\n title: 'single-spa'\r\n },\r\n {\r\n contribute: 'https://github.com/angular/angular',\r\n desc: '应用程序设计框架和开发平台,用于创建高效且复杂的单页应用程序',\r\n url: 'https://angular.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/angular.svg',\r\n title: 'Angular'\r\n },\r\n {\r\n contribute: 'https://github.com/sveltejs/svelte',\r\n desc: '将声明性组件转换为精准高效更新 DOM 的 JavaScript 代码。',\r\n url: 'https://svelte.dev/',\r\n logo: 'https://svelte.dev/svelte-logo-horizontal.svg',\r\n title: 'Svelte'\r\n }],\r\n title: 'web-framework'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5725620766a',\r\n type: '代码风格检查',\r\n children: [{\r\n desc: '可组装的、用于 JavaScript 和 JSX 的代码检查工具',\r\n url: 'https://cn.eslint.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/eslint.svg',\r\n title: 'ESLint'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/stylelint',\r\n desc: '强大的现代 CSS 检测工具,帮助样式表遵循一致的约定和避免错误',\r\n url: 'https://stylelint.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/stylelint.svg',\r\n title: 'StyleLint'\r\n },\r\n {\r\n desc: 'JavaScript 风格指南、检查工具和格式化工具',\r\n url: 'https://standardjs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/standardjs.svg',\r\n title: 'Standard JS'\r\n },\r\n {\r\n desc: 'Vue 代码的风格指南',\r\n url: 'https://vue.docschina.org/v2/style-guide/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue 风格指南'\r\n }],\r\n title: 'codestyle'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56f23ffeb15',\r\n _updateTime: 1618761523555,\r\n type: 'Node.js & Deno',\r\n children: [{\r\n contribute: 'https://github.com/nodejscn/node-api-cn',\r\n desc: '基于 V8 引擎的 JavaScript 运行环境',\r\n url: 'http://nodejs.cn/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/node.svg',\r\n title: 'Node.js'\r\n },\r\n {\r\n contribute: 'https://deno.js.cn/',\r\n desc: 'Deno 是一个 JavaScript/TypeScript 的运行时',\r\n url: 'https://manual.deno.js.cn/',\r\n logo: 'https://deno.land/logo.svg',\r\n title: 'Deno'\r\n },\r\n {\r\n contribute: 'https://github.com/demopark/koa-docs-Zh-CN',\r\n desc: '新一代的 Web 后台框架',\r\n url: 'https://koajs.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/koa.svg',\r\n title: 'Koa'\r\n },\r\n {\r\n desc: '为企业级框架和 Node.js & Koa 应用程序而生',\r\n url: 'https://eggjs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/egg.png',\r\n title: 'egg',\r\n repository: 'https://github.com/eggjs/egg',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '快速极简的 Web 框架',\r\n url: 'http://expressjs.com/zh-cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/express.png',\r\n title: 'Express',\r\n repository: 'https://github.com/expressjs/express'\r\n },\r\n {\r\n desc: '渐进式 Node.js 框架,构建高效、可靠和可扩展的 server 应用程序',\r\n url: 'https://nestjs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/nest.png',\r\n title: 'nest',\r\n repository: 'https://github.com/nestjs/nest'\r\n },\r\n {\r\n desc: '能够使用完整 ES6/7 特性进行开发的 Node.js 应用程序',\r\n url: 'https://thinkjs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/think.png',\r\n title: 'ThinkJS',\r\n repository: 'https://github.com/thinkjs/thinkjs',\r\n team: '360'\r\n },\r\n {\r\n desc: 'npm 是 JavaScript package 管理工具,在这里可以找到可复用代码,并以强大的全新方式进行聚合',\r\n url: 'https://docs.npmjs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/npm.png',\r\n title: 'npm'\r\n },\r\n {\r\n desc: '淘宝提供的 npmjs.org 镜像',\r\n url: 'https://npm.taobao.org/',\r\n logo: 'https://npm.taobao.org/favicon.png',\r\n title: 'cnpm'\r\n },\r\n {\r\n desc: '快速、可靠和安全的依赖管理',\r\n url: 'https://yarnpkg.com/zh-Hans/',\r\n logo: 'https://cdn.docschina.org/home/logo/yarn.png',\r\n title: 'yarn'\r\n }],\r\n title: 'node'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5741113911d',\r\n _updateTime: 1618213635311,\r\n type: '编程教程',\r\n children: [{\r\n contribute: 'https://github.com/javascript-tutorial/zh.javascript.info',\r\n desc: '以最新的 JavaScript 标准为基准,通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。',\r\n url: 'https://zh.javascript.info/',\r\n is_docschina: false,\r\n logo: 'https://user-images.githubusercontent.com/26959437/67275005-3df25500-f4f4-11e9-9c13-36e442ff40cc.jpg',\r\n title: '现代 JavaScript 教程'\r\n },\r\n {\r\n contribute: 'https://github.com/RxJS-CN/learn-rxjs-operators',\r\n desc: '通过每个操作符的清晰示例及解释来进行 RxJS 的学习',\r\n url: 'https://rxjs-cn.github.io/learn-rxjs-operators/',\r\n is_docschina: true,\r\n logo: '',\r\n title: '学习 RxJS 操作符'\r\n },\r\n {\r\n desc: '从 JavaScript 程序员的角度总结思考,循序渐进的理解 TypeScript',\r\n url: 'https://ts.xcatliu.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/typescript.svg',\r\n title: 'TypeScript 入门教程',\r\n repository: 'https://github.com/xcatliu/typescript-tutorial'\r\n },\r\n {\r\n desc: '基于 Promise 进行异步编程的基本使用方法以及测试的编写方法、应用及反模式等内容的文档',\r\n url: 'http://liubin.org/promises-book/',\r\n logo: '',\r\n title: 'JavaScript Promise 迷你书'\r\n },\r\n {\r\n contribute: 'https://github.com/RxJS-CN/learn-rxjs-operators',\r\n desc: '通过每个操作符的清晰示例及解释来进行 RxJS 的学习',\r\n url: 'https://rxjs-cn.github.io/learn-rxjs-operators/',\r\n is_docschina: true,\r\n logo: '',\r\n title: '学习 RxJS 操作符'\r\n },\r\n {\r\n desc: '这是一本有关 Rust的入门书籍',\r\n url: 'https://doc.rust-lang.org/book/',\r\n logo: 'https://www.rust-lang.org/static/images/rust-logo-blk.svg',\r\n title: 'Rust 编程语言'\r\n }],\r\n title: 'tutorial'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56c79303c20',\r\n _updateTime: 1611204893455,\r\n type: 'Vue(PC)',\r\n children: [{\r\n desc: '基于 Vue 的组件库',\r\n url: 'http://element-cn.eleme.io/',\r\n logo: 'https://cdn.docschina.org/home/logo/element.svg',\r\n title: 'Element UI',\r\n repository: 'https://github.com/ElemeFE/element',\r\n team: '饿了么'\r\n },\r\n {\r\n desc: '基于 Vue 的 Material 组件库',\r\n url: 'https://vuetifyjs.com/zh-Hans/',\r\n logo: 'https://cdn.docschina.org/home/logo/vuetify.svg',\r\n title: 'Vuetify',\r\n repository: 'https://github.com/vuetifyjs/vuetify'\r\n },\r\n {\r\n desc: '基于 Vue 的组件库',\r\n url: 'https://www.iviewui.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/iview.png',\r\n title: 'View UI',\r\n repository: 'https://github.com/iview/iview',\r\n team: 'TalkingData'\r\n },\r\n {\r\n desc: 'Vue 官方 UI 组件',\r\n url: 'https://vuejs.github.io/ui/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue UI Framework',\r\n repository: 'https://github.com/vuejs/ui'\r\n },\r\n {\r\n desc: '一个基于 Vue 的高质量 UI 组件库',\r\n url: 'https://www.heyui.top/',\r\n logo: 'https://camo.githubusercontent.com/1424cb86c2634f96fe82db55f01f07c3c29e53a1/68747470733a2f2f7777772e68657975692e746f702f7374617469632f696d616765732f6c6f676f2e706e67',\r\n title: 'HeyUI',\r\n repository: 'https://github.com/heyui/heyui'\r\n },\r\n {\r\n desc: '灵活易用的 JavaScript 组件框架,兼容到 IE6',\r\n url: 'https://baidu.github.io/san/',\r\n logo: 'https://cdn.docschina.org/home/logo/san.svg',\r\n title: 'San',\r\n repository: 'https://github.com/baidu/san',\r\n team: '百度'\r\n },\r\n {\r\n desc: 'vue-loader 可以将 Vue 单文件组件转换为 JavaScript 模块的 webpack loader',\r\n url: 'https://vue-loader.vuejs.org/zh/',\r\n logo: '',\r\n title: 'vue-loader',\r\n repository: 'https://github.com/vuejs/vue-loader'\r\n },\r\n {\r\n contribute: 'https://github.com/vuejs/vuepress',\r\n desc: '由 Vue 提供支持的静态站点生成器',\r\n url: 'https://vuepress.vuejs.org/zh/',\r\n logo: 'https://cdn.docschina.org/home/logo/vuepress.svg',\r\n title: 'VuePress'\r\n },\r\n {\r\n desc: 'vue-router 是 Vue 官方提供的 router',\r\n url: 'https://router.vuejs.org/zh/',\r\n logo: '',\r\n title: 'vue-router',\r\n repository: 'https://github.com/vuejs/vue-router'\r\n },\r\n {\r\n desc: 'vue-rx 帮助用户在 Vue 应用程序中实现简单的 RxJS 绑定',\r\n url: 'https://github.com/vuejs/vue-rx/blob/master/README-CN.md',\r\n logo: '',\r\n title: 'vue-rx',\r\n repository: 'https://github.com/vuejs/vue-rx'\r\n },\r\n {\r\n desc: 'vue-cli 帮助用户快速开发 Vue 的脚手架(scaffold)',\r\n url: 'https://cli.vuejs.org/zh/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'vue-cli',\r\n repository: 'https://github.com/vuejs/vue-cli'\r\n },\r\n {\r\n desc: 'Vue 官方提供的服务器端渲染(SSR)指南',\r\n url: 'https://ssr.vuejs.org/zh/',\r\n logo: '',\r\n title: 'vue-ssr',\r\n repository: 'https://github.com/vuejs/vue-ssr-docs'\r\n },\r\n {\r\n desc: 'Vue.js 元框架,用于快速创建复杂、高性能的通用 Web 应用程序',\r\n url: 'https://zh.nuxtjs.org/',\r\n logo: 'https://zh.nuxtjs.org/logos/nuxt-icon.png',\r\n title: 'Nuxt.js',\r\n repository: 'https://github.com/nuxt/nuxt.js'\r\n }],\r\n title: 'vue-pc'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57622981fde',\r\n type: '测试工具',\r\n children: [{\r\n desc: 'Vue Test Utils 是 Vue.js 官方的单元测试实用工具库',\r\n url: 'https://vue-test-utils.vuejs.org/zh/',\r\n logo: '',\r\n title: 'Vue Test Utils',\r\n repository: 'https://github.com/vuejs/vue-test-utils'\r\n },\r\n {\r\n desc: 'Facebook 开发的零配置测试平台,让代码库更加稳定和健壮',\r\n url: 'https://jest.docschina.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/jest.png',\r\n title: 'Jest',\r\n repository: 'https://github.com/facebook/jest'\r\n },\r\n {\r\n desc: '未来的测试运行器',\r\n url: 'https://github.com/avajs/ava',\r\n logo: 'https://cdn.docschina.org/home/logo/ava.png',\r\n title: 'ava'\r\n },\r\n {\r\n desc: 'Karma 的主要目标是,让测试驱动开发(TDD)变得简单、快速和有趣。',\r\n url: 'https://karma-runner.github.io/2.0/index.html',\r\n logo: 'https://cdn.docschina.org/home/logo/karma.png',\r\n title: 'Karma',\r\n repository: 'https://github.com/karma-runner/karma'\r\n },\r\n {\r\n desc: 'Mocha 是运行在 Node.js 和浏览器上的功能丰富的 JavaScript 测试框架,使异步测试变得简单而有趣。Mocha 串行运行测试,提供灵活精准的报告,同时将未捕获的异常映射到正确的测试用例。',\r\n url: 'https://mochajs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/mocha.svg',\r\n title: 'Mocha',\r\n repository: 'https://github.com/mochajs/mocha'\r\n },\r\n {\r\n desc: 'Jasmine 是一个用于测试 JavaScript 代码的行为驱动开发(BDD)框架',\r\n url: 'https://jasmine.github.io/',\r\n logo: 'https://cdn.docschina.org/home/logo/jasmine.png',\r\n title: 'Jasmine',\r\n repository: 'https://github.com/jasmine/jasmine'\r\n },\r\n {\r\n desc: 'Puppeteer 可以通过 DevTools 协议控制 headless Chrome 或 Chromium',\r\n url: 'https://pptr.dev/',\r\n logo: 'https://cdn.docschina.org/home/logo/puppeteer.png',\r\n title: 'Puppeteer',\r\n repository: 'https://github.com/GoogleChrome/puppeteer'\r\n },\r\n {\r\n desc: '用于对 JavaScript 隔离测试 spy, stub 和 mock。适用于任何单元测试框架',\r\n url: 'http://sinonjs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/sinon.png',\r\n title: 'Sinon.JS',\r\n repository: 'https://github.com/sinonjs/sinon'\r\n },\r\n {\r\n desc: 'Chai 是一个用于 Node.js 和浏览器的 BDD/TDD 断言库,可以与任何 JavaScript 测试框架便捷配对',\r\n url: 'http://chaijs.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/chai.png',\r\n title: 'Chai',\r\n repository: 'https://github.com/chaijs/chai'\r\n },\r\n {\r\n desc: 'expect 帮助你编写更好的断言',\r\n url: 'https://github.com/mjackson/expect',\r\n logo: '',\r\n title: 'expect'\r\n },\r\n {\r\n desc: '一个富于表现力、可读性强、与框架无关,用于 Node.js 的 BDD 风格断言库',\r\n url: 'https://shouldjs.github.io/',\r\n logo: '',\r\n title: 'Should.js',\r\n repository: 'https://github.com/shouldjs/should.js'\r\n },\r\n {\r\n desc: '生成随机数据,拦截 Ajax 请求',\r\n url: 'http://mockjs.com/',\r\n logo: '',\r\n title: 'Mock.js',\r\n repository: 'https://github.com/nuysoft/Mock'\r\n }],\r\n title: 'test'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5770943917c',\r\n _updateTime: 1613989291342,\r\n type: '编译构建',\r\n children: [{\r\n contribute: 'https://github.com/docschina/webpack.js.org',\r\n desc: '用于现代 JavaScript 应用程序的静态模块打包工具',\r\n url: 'https://webpack.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/webpack-offical.svg',\r\n title: 'webpack'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/babeljs.io',\r\n desc: '一个编译工具,让你可以项目中直接使用下一代 JavaScript',\r\n url: 'https://babel.docschina.org/',\r\n homeBackup: 'https://babeljs.cn/',\r\n imgStyle: { objectFit: 'contain' },\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/babel.png',\r\n title: 'Babel'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/parceljs.io',\r\n desc: '零配置打包工具',\r\n url: 'https://parceljs.docschina.org/',\r\n homeBackup: 'https://www.parceljs.io/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/parcel.png',\r\n title: 'Parcel'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/rollupjs.org',\r\n desc: '新一代 JavaScript 模块打包器',\r\n url: 'https://rollup.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/rollup.svg',\r\n title: 'Rollup'\r\n },\r\n {\r\n contribute: 'https://github.com/vitejs/docs-cn',\r\n desc: '下一代前端开发与构建工具',\r\n url: 'https://cn.vitejs.dev/',\r\n logo: 'https://vitejs.dev/logo.svg',\r\n title: 'Vite'\r\n },\r\n {\r\n desc: 'JavaScript 超集',\r\n url: 'https://zhongsp.gitbooks.io/typescript-handbook/',\r\n logo: 'https://cdn.docschina.org/home/logo/typescript.svg',\r\n title: 'TypeScript',\r\n repository: 'https://github.com/zhongsp/TypeScript'\r\n },\r\n {\r\n desc: '基于流的自动化构建工具',\r\n url: 'http://www.gulpjs.com.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/gulp.svg',\r\n title: 'Gulp'\r\n },\r\n {\r\n desc: 'JavaScript 世界的构建工具',\r\n url: 'https://grunt.docschina.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/grunt.svg',\r\n title: 'Grunt'\r\n },\r\n {\r\n desc: '用于管理有多个包的 JavaScript 项目的工具',\r\n url: 'https://lerna.js.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/lerna.svg',\r\n title: 'Lerna',\r\n repository: 'https://github.com/lerna/lerna'\r\n }],\r\n title: 'build'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5781a2d68bb',\r\n type: '模板引擎',\r\n children: [{\r\n desc: 'JavaScript 模板引擎',\r\n url: 'http://ejs.co/',\r\n logo: '',\r\n title: 'EJS'\r\n },\r\n {\r\n desc: 'JavaScript 模板引擎',\r\n url: 'https://pugjs.org/',\r\n logo: '',\r\n title: 'Pug'\r\n },\r\n {\r\n desc: 'JavaScript 模板引擎',\r\n url: 'https://handlebarsjs.com/',\r\n logo: '',\r\n title: 'Handlebars.js'\r\n }],\r\n title: 'template'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5733b66fd34',\r\n _updateTime: 1618063291445,\r\n type: '状态管理',\r\n children: [{\r\n contribute: 'https://github.com/SangKa/mobx-docs-cn',\r\n desc: '简单、可扩展的状态管理',\r\n url: 'https://cn.mobx.js.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/mobx.png',\r\n title: 'Mobx'\r\n },\r\n {\r\n contribute: 'https://www.github.com/reduxjs/react-redux',\r\n desc: 'React 官方版本 Redux',\r\n url: 'https://react-redux.js.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/redux.svg',\r\n title: 'React Redux'\r\n },\r\n {\r\n contribute: 'https://github.com/camsong/redux-in-chinese',\r\n desc: 'JavaScript 状态容器,提供可预测化的状态管理',\r\n url: 'https://cn.redux.js.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/redux.svg',\r\n title: 'Redux'\r\n },\r\n {\r\n contribute: 'https://github.com/rematch/rematch',\r\n desc: 'Rematch 是没有 boilerplate 的 Redux 最佳实践',\r\n url: 'https://rematch.gitbook.io/',\r\n logo: 'https://cdn.docschina.org/home/logo/rematch.png',\r\n title: 'Rematch'\r\n },\r\n {\r\n desc: 'vuex 是 Vue 官方提供的状态管理工具',\r\n url: 'https://vuex.vuejs.org/zh/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vuex',\r\n repository: 'https://github.com/vuejs/vuex'\r\n }],\r\n title: 'data-model'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d57c78a8184a',\r\n _updateTime: 1606363580152,\r\n type: '技术周刊',\r\n children: [{\r\n desc: '关于 JavaScript 的文章、新闻和项目的周刊',\r\n url: 'https://docschina.org/weekly/js/docs/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/docschina-logo.svg',\r\n title: '印记中文周刊 - JavaScript'\r\n },\r\n {\r\n desc: '关于 React 的文章、新闻和项目的周刊',\r\n url: 'https://docschina.org/weekly/react/docs/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/docschina-logo.svg',\r\n title: '印记中文周刊 - React'\r\n },\r\n {\r\n desc: 'Node.js 新闻和文章',\r\n url: 'https://nodeweekly.com/',\r\n logo: '',\r\n title: 'Node Weekly'\r\n },\r\n {\r\n desc: 'CSS 文章、教程、实验、工具等摘要',\r\n url: 'https://css-weekly.com/',\r\n logo: 'https://css-weekly.com/wp-content/themes/cssweekly/img/cssweekly-logo.png',\r\n title: 'CSS Weekly'\r\n },\r\n {\r\n desc: 'Vue 官方提供的最新实时动态资讯',\r\n url: 'https://news.vuejs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'Vue news',\r\n repository: 'https://github.com/vuejs/news.vuejs.org'\r\n }],\r\n title: 'weekly'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5691d88abc2',\r\n type: '小程序框架',\r\n children: [{\r\n contribute: 'https://github.com/remaxjs/remax',\r\n desc: 'Remax 将 React 运行在小程序环境中,让你可以使用完整的 React 进行小程序开发。',\r\n url: 'https://remaxjs.org/',\r\n logo: 'https://gw.alipayobjects.com/mdn/rms_b5fcc5/afts/img/A*1NHAQYduQiQAAAAAAAAAAABkARQnAQ',\r\n title: 'Remax'\r\n },\r\n {\r\n contribute: 'https://github.com/NervJS/taro',\r\n desc: 'Taro 是一套遵循 React 语法规范的 多端开发 解决方案。',\r\n url: 'https://taro.jd.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/taro.png',\r\n title: 'Taro'\r\n },\r\n {\r\n contribute: 'https://github.com/wechat-miniprogram/kbone',\r\n desc: 'kbone 用于支持一个项目可以同时在 Web 端和小程序端被使用',\r\n url: 'https://developers.weixin.qq.com/miniprogram/dev/extended/kbone/',\r\n logo: '',\r\n title: 'kbone'\r\n },\r\n {\r\n contribute: 'https://github.com/Tencent/omi',\r\n desc: 'Omi 可以开发桌面 Web、移动 H5,同时支持开发小程序',\r\n url: 'http://omijs.org',\r\n logo: 'https://camo.githubusercontent.com/5a3ce051411cca4d8abd0e0abff879bb5a871520/68747470733a2f2f74656e63656e742e6769746875622e696f2f6f6d692f6173736574732f6f6d692d6c6f676f323031392e737667',\r\n title: 'omi/omip'\r\n },\r\n {\r\n contribute: 'https://github.com/Tencent/wepy',\r\n desc: 'WePY 是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序',\r\n url: 'https://developers.weixin.qq.com/miniprogram/dev/extended/kbone/',\r\n logo: 'https://opensource.tencent.com/img/wepy.png',\r\n title: 'wepy'\r\n },\r\n {\r\n contribute: 'https://github.com/RubyLouvre/nanachi',\r\n desc: '基于 React 的多端小程序转译框架,完美兼容 React 生命周期',\r\n url: 'https://rubylouvre.github.io/nanachi/',\r\n logo: 'https://cdn.docschina.org/home/logo/nanachi.png',\r\n title: 'nanachi'\r\n },\r\n {\r\n contribute: 'https://github.com/Meituan-Dianping/mpvue',\r\n desc: '框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。',\r\n url: 'http://mpvue.com',\r\n logo: 'https://cdn.docschina.org/home/logo/mpvue.png',\r\n title: 'mpvue'\r\n },\r\n {\r\n contribute: 'https://github.com/wxajs/wxa',\r\n desc: 'wxa 是一个 AOP 框架,主要使用 Decorator(运行时改写,拦截)和预编译实现框架功能。',\r\n url: 'https://wxajs.github.io/wxa/',\r\n logo: 'https://github.com/wxajs/wxa/raw/dev/wxa-logo.png',\r\n title: 'wxa'\r\n },\r\n {\r\n contribute: 'https://github.com/didi/mpx',\r\n desc: 'Mpx 是一款致力于提高小程序开发体验的增强型小程序框架,通过 Mpx,我们能够以最先进的 web 开发体验来开发生产性能深度优化的小程序。',\r\n url: 'https://didi.github.io/mpx/',\r\n logo: 'https://cdn.docschina.org/home/logo/mpx-logo.png',\r\n title: 'mpx'\r\n },\r\n {\r\n contribute: 'https://github.com/kaola-fed/megalo',\r\n desc: 'Megalo 是基于 Vue(Vue@2.6.6) 的小程序开发框架,让开发者可以用 Vue 的开发方式开发小程序应用。',\r\n url: 'https://megalojs.org/#/',\r\n logo: 'https://megalojs.org/static/megalo.png',\r\n title: 'megalo'\r\n },\r\n {\r\n contribute: 'https://github.com/didi/chameleon',\r\n desc: 'Chameleon/kəˈmiːlɪən/,简写CML,中文名卡梅龙;中文意思变色龙,意味着就像变色龙一样能适应不同环境的跨端整体解决方案。',\r\n url: 'https://cml.js.org/',\r\n logo: 'https://camo.githubusercontent.com/9a6e165b9188a8ac4e5173bc382688a418fad711/68747470733a2f2f636d6c2e6a732e6f72672f646f632f6173736574732f3130302a3130302e706e67',\r\n title: 'chameleon'\r\n },\r\n {\r\n contribute: 'https://github.com/dcloudio/uni-app',\r\n desc: '框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。',\r\n url: 'https://uniapp.dcloud.io/',\r\n logo: 'https://img-cdn-qiniu.dcloud.net.cn/new-page/uni.png',\r\n title: 'uni-app'\r\n }],\r\n title: 'mini-program'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d56e41e13c2b',\r\n _updateTime: 1612264536260,\r\n type: 'Angular',\r\n children: [{\r\n desc: 'Material Design 组件库 for Angular',\r\n url: 'https://material.angular.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/angular.svg',\r\n title: 'Angular Material',\r\n repository: 'https://github.com/ng-docs/components'\r\n },\r\n {\r\n desc: 'Element UI 的 Angular 实现',\r\n url: 'https://element-angular.faas.ele.me/',\r\n logo: 'https://cdn.docschina.org/home/logo/element.svg',\r\n title: 'Element Angular',\r\n repository: 'https://github.com/ElemeFE/element-angular',\r\n team: '饿了么'\r\n },\r\n {\r\n desc: '基于 Angular 的移动端跨平台 UI',\r\n url: 'https://ionicframework.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/ionic.png',\r\n title: 'Ionic',\r\n repository: 'https://github.com/ionic-team/ionic'\r\n }],\r\n title: 'angular'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5706183e0bf',\r\n type: 'CSS',\r\n children: [{\r\n desc: 'Sass 是 CSS 的一个扩展,它使 CSS 的使用起来更加优雅和强大。',\r\n url: 'https://sass-guidelin.es/zh/',\r\n logo: 'https://cdn.docschina.org/home/logo/sass.svg',\r\n title: 'Sass'\r\n },\r\n {\r\n desc: 'Less 是 CSS 预处理语言,使 CSS 更易维护和扩展',\r\n url: 'http://lesscss.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/less.svg',\r\n title: 'Less'\r\n },\r\n {\r\n desc: '富有表现力、动态、健壮的 CSS',\r\n url: 'http://www.zhangxinxu.com/jq/stylus/',\r\n homeBackup: 'http://stylus-lang.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/stylus.svg',\r\n title: 'Stylus'\r\n },\r\n {\r\n contribute: 'https://github.com/docschina/postcss/blob/cn/Translation.md',\r\n desc: '通过 JavaScript 来转换 CSS,并且提供强大的插件系统',\r\n url: 'http://postcss.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/postcss.svg',\r\n title: 'PostCSS'\r\n }],\r\n title: 'css'\r\n},\r\n{\r\n _id: 'c497f5885f9e324e0118d5793d4545a7',\r\n type: '可视化工具',\r\n children: [{\r\n contribute: 'https://github.com/docschina/threejs.org',\r\n desc: 'JavaScript 3d 库',\r\n url: 'https://threejs.docschina.org/',\r\n is_docschina: true,\r\n logo: 'https://cdn.docschina.org/home/logo/threejs.png',\r\n title: 'Threejs',\r\n repository: 'https://github.com/mrdoob/three.js'\r\n },\r\n {\r\n desc: '使用 JavaScript 实现的开源可视化库',\r\n url: 'http://echarts.baidu.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/echarts.png',\r\n title: 'ECharts',\r\n repository: 'https://github.com/ecomfe/echarts',\r\n team: '百度'\r\n },\r\n {\r\n desc: '跨平台的轻量级 2D 渲染对象模型',\r\n url: 'http://spritejs.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/spritejs.png',\r\n title: 'SpriteJS',\r\n repository: 'https://github.com/spritejs/spritejs',\r\n team: '360'\r\n },\r\n {\r\n desc: '基于全新一代数据可视化解决方案 AntV',\r\n url: 'https://antv.alipay.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/antv.svg',\r\n title: 'AntV 可视化解决方案',\r\n repository: 'https://github.com/ecomfe/echarts',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性',\r\n url: 'https://antv.alipay.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/antv.svg',\r\n title: 'G2 可视化图形语法',\r\n repository: 'https://github.com/antvis/g2/',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: 'G6 是解决流程图和关系分析的图表库',\r\n url: 'https://antv.alipay.com/zh-cn/g6/1.x/index.html',\r\n logo: 'https://cdn.docschina.org/home/logo/antv.svg',\r\n title: 'G6 关系图类库',\r\n repository: 'https://github.com/antvis/g6/',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '面向移动端的一套基于可视化图形语法的图表库,具有精简、高性能、易扩展的特性',\r\n url: 'https://antv.alipay.com/zh-cn/f2/3.x/index.html',\r\n logo: 'https://cdn.docschina.org/home/logo/antv.svg',\r\n title: 'F2 移动端图表库',\r\n repository: 'https://github.com/antvis/f2/',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '一个遵循 Web 标准,用于可视化数据的 JavaScript 库',\r\n url: 'https://d3js.org.cn/',\r\n logo: 'https://cdn.docschina.org/home/logo/d3.svg',\r\n title: 'D3.js',\r\n repository: 'https://github.com/xswei/d3js_doc'\r\n },\r\n {\r\n desc: '基于 Vue 和 ECharts 封装的图表组件',\r\n url: 'https://v-charts.js.org/',\r\n logo: 'https://cdn.docschina.org/home/logo/vue.svg',\r\n title: 'v-charts',\r\n repository: 'https://github.com/elemefe/v-charts',\r\n team: '饿了么'\r\n }],\r\n title: 'visualization'\r\n},\r\n{\r\n _createTime: 1611133617441,\r\n _id: '1526e12a6007f2b1002d9ab04359d927',\r\n _updateTime: 1616657640052,\r\n type: 'UmiJS 框架',\r\n children: [{\r\n desc: '可插拔的企业级 React 应用框架',\r\n url: 'https://umijs.org/',\r\n logo: '',\r\n title: 'UmiJS',\r\n repository: 'https://github.com/umijs/umi',\r\n team: '蚂蚁金服'\r\n },\r\n {\r\n desc: '基于 Umi 的场景化框架',\r\n url: 'https://alitajs.com/',\r\n logo: '',\r\n title: 'alita',\r\n repository: 'https://github.com/alitajs/alita'\r\n },\r\n {\r\n desc: '为微前端提供快速、简单和完整的解决方案',\r\n url: 'https://qiankun.umijs.org/',\r\n logo: '',\r\n title: 'qiankun',\r\n repository: 'https://github.com/umijs/qiankun',\r\n team: '蚂蚁金服'\r\n },\r\n {\r\n desc: 'React 组件文档生成工具',\r\n url: 'https://d.umijs.org/',\r\n logo: '',\r\n title: 'dumi',\r\n repository: 'https://github.com/umijs/dumi',\r\n team: '蚂蚁金服'\r\n },\r\n {\r\n desc: '零基础 UmiJS 入门教程',\r\n url: 'https://www.yuque.com/umijs/umi',\r\n logo: '',\r\n title: 'Umi 入门',\r\n repository: 'https://github.com/umijs/umi-course',\r\n team: '蚂蚁金服'\r\n }],\r\n title: 'umi'\r\n},\r\n{\r\n _createTime: 1611195580301,\r\n _id: '79550af26008e4bc004838e050c2c0c1',\r\n _updateTime: 1611205328048,\r\n type: 'ant design 系列',\r\n children: [{\r\n desc: '企业级的 UI 设计语言和 React 实现',\r\n url: 'https://ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant Design',\r\n repository: 'https://github.com/ant-design/ant-design'\r\n },\r\n {\r\n desc: '开箱即用的中台前端/设计解决方案',\r\n url: 'https://pro.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant Design Pro',\r\n repository: 'https://github.com/ant-design/ant-design-pro',\r\n team: '阿里巴巴'\r\n },\r\n {\r\n desc: '一个基于 Preact / React / React Native 的 UI 组件库',\r\n url: 'https://mobile.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant Design Mobile',\r\n repository: 'https://github.com/ant-design/ant-design-mobile'\r\n },\r\n {\r\n desc: 'Ant Design 的 Vue 实现',\r\n url: 'https://antdv.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant Design Vue',\r\n repository: 'https://github.com/vueComponent/ant-design-vue'\r\n },\r\n {\r\n desc: '开箱即用的中台前端/设计解决方案',\r\n url: 'https://pro.antdv.com/',\r\n logo: 'https://pro.antdv.com/logo.png',\r\n title: 'Ant Design Pro Vue',\r\n repository: 'https://github.com/vueComponent/ant-design-vue-pro'\r\n },\r\n {\r\n desc: 'Ant Design 的 Angular 实现',\r\n url: 'https://ng.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/NG-ZORRO.svg',\r\n title: 'NG-ZORRO',\r\n repository: 'https://github.com/NG-ZORRO/ng-zorro-antd'\r\n },\r\n {\r\n desc: 'Ant Design Mobile 的 Angular 实现',\r\n url: 'http://ng.mobile.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/NG-ZORRO.svg',\r\n title: 'NG-ZORRO-MOBILE',\r\n repository: 'https://github.com/NG-ZORRO/ng-zorro-antd-mobile'\r\n },\r\n {\r\n desc: '基于 ng-zorro-antd 的中台前端解决方案',\r\n url: 'http://ng-alain.com/',\r\n logo: 'https://cdn.docschina.org/home/logo/ng-alain.svg',\r\n title: 'ng-alain',\r\n repository: 'https://github.com/cipchk/ng-alain/'\r\n },\r\n {\r\n contribute: 'https://github.com/ant-design/ant-ux',\r\n desc: '用于 OG, Sketch,Axure,Affinity,Adobe XD 等 UX 的 sitemap 模板',\r\n url: 'https://ux.ant.design/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'Ant UX'\r\n },\r\n {\r\n contribute: 'https://github.com/react-component',\r\n desc: 'ant design 内部使用的 React 基础组件',\r\n url: 'http://react-component.github.io/badgeboard/',\r\n logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',\r\n title: 'react-component'\r\n }]\r\n}]\r\n","import { render } from \"./App.vue?vue&type=template&id=02724ab4&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=02724ab4&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-02724ab4\"\n\nexport default script","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\n\r\nconst app = createApp(App)\r\napp.mount('#app')\r\n","module.exports = __webpack_public_path__ + \"img/github.3f137925.svg\";","module.exports = __webpack_public_path__ + \"img/logo.f38dc2e8.svg\";","module.exports = __webpack_public_path__ + \"img/gitee.8160b75c.svg\";","module.exports = __webpack_public_path__ + \"img/blog.f57ba53d.svg\";","module.exports = __webpack_public_path__ + \"img/file.807fb7b5.svg\";"],"sourceRoot":""} |