-
Notifications
You must be signed in to change notification settings - Fork 0
dyabp/dyabp.github.io
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<link rel="icon" href="/logo.png"><title>贡献指南 | DyAbp</title><meta name="description" content="助力您的Abp开发"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="generator" content="VuePress 2.0.0-alpha.19">
<link rel="preload" href="/assets/js/runtime~app.6a0151b4.js" as="script"><link rel="preload" href="/assets/css/styles.4ee66457.css" as="style"><link rel="preload" href="/assets/js/332.0032fdc6.js" as="script"><link rel="preload" href="/assets/js/app.16908970.js" as="script">
<link rel="stylesheet" href="/assets/css/styles.4ee66457.css">
</head>
<body>
<div id="app"><!--[--><div class="theme-container"><header class="navbar"><div class="toggle-sidebar-button"><svg class="icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z" class=""></path></svg></div><a href="/" class="home-link"><img class="logo" src="/logo.png" alt="DyAbp"><span class="site-name can-hide">DyAbp</span></a><div class="navbar-links-wrapper" style=""><!--[--><!--]--><nav class="navbar-links can-hide"><!--[--><div class="navbar-links-item"><a href="/guide/" class="nav-link" exact="false" aria-label="指南"><!--[--><!--]--> 指南 <!--[--><!--]--></a></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="参考"><span class="title">参考</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="参考"><span class="title">参考</span><span class="right arrow"></span></button><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>VuePress</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a href="/reference/cli.html" class="nav-link" exact="false" aria-label="CLI"><!--[--><!--]--> CLI <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/config.html" class="nav-link" exact="false" aria-label="配置"><!--[--><!--]--> 配置 <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/frontmatter.html" class="nav-link" exact="false" aria-label="Frontmatter"><!--[--><!--]--> Frontmatter <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/components.html" class="nav-link" exact="false" aria-label="内置组件"><!--[--><!--]--> 内置组件 <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/plugin-api.html" class="nav-link" exact="false" aria-label="插件 API"><!--[--><!--]--> 插件 API <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/theme-api.html" class="nav-link" exact="false" aria-label="主题 API"><!--[--><!--]--> 主题 API <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>打包工具</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a href="/reference/bundler/webpack.html" class="nav-link" exact="false" aria-label="Webpack"><!--[--><!--]--> Webpack <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/bundler/vite.html" class="nav-link" exact="false" aria-label="Vite"><!--[--><!--]--> Vite <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>默认主题</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a href="/reference/default-theme/config.html" class="nav-link" exact="false" aria-label="Config"><!--[--><!--]--> Config <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/default-theme/frontmatter.html" class="nav-link" exact="false" aria-label="Frontmatter"><!--[--><!--]--> Frontmatter <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/default-theme/components.html" class="nav-link" exact="false" aria-label="内置组件"><!--[--><!--]--> 内置组件 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="了解更多"><span class="title">了解更多</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="了解更多"><span class="title">了解更多</span><span class="right arrow"></span></button><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>深入</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a href="/guide/advanced/markdown.html" class="nav-link" exact="false" aria-label="Markdown 与 Vue SFC"><!--[--><!--]--> Markdown 与 Vue SFC <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/guide/advanced/theme.html" class="nav-link" exact="false" aria-label="开发主题"><!--[--><!--]--> 开发主题 <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/guide/advanced/plugin.html" class="nav-link" exact="false" aria-label="开发插件"><!--[--><!--]--> 开发插件 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>其他资源</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a aria-current="page" href="/contributing.html" class="router-link-active router-link-exact-active nav-link" exact="false" aria-label="贡献指南"><!--[--><!--]--> 贡献指南 <!--[--><!--]--></a></li><li class="dropdown-subitem"><a class="nav-link external" href="https://github.com/vuepress/vuepress-next/blob/main/CHANGELOG.md" rel="noopener noreferrer" target="_blank" aria-label="更新日志"><!--[--><!--]--> 更新日志 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></li><li class="dropdown-subitem"><a class="nav-link external" href="https://github.com/vuepress/awesome-vuepress" rel="noopener noreferrer" target="_blank" aria-label="Awesome VuePress"><!--[--><!--]--> Awesome VuePress <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></li><li class="dropdown-subitem"><a class="nav-link external" href="https://v1.vuepress.vuejs.org/zh/" rel="noopener noreferrer" target="_blank" aria-label="v1 文档"><!--[--><!--]--> v1 文档 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></li><li class="dropdown-subitem"><a class="nav-link external" href="https://v0.vuepress.vuejs.org/zh/" rel="noopener noreferrer" target="_blank" aria-label="v0 文档"><!--[--><!--]--> v0 文档 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="选择语言"><span class="title">选择语言</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="选择语言"><span class="title">选择语言</span><span class="right arrow"></span></button><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><a aria-current="page" href="/contributing.html" class="router-link-active router-link-exact-active nav-link" exact="false" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="dropdown-item"><a href="/en/contributing.html" class="nav-link" exact="false" aria-label="en-US"><!--[--><!--]--> en-US <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/dyabp/dyabp" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><!----></div></header><div class="sidebar-mask"></div><aside class="sidebar"><nav class="navbar-links"><!--[--><div class="navbar-links-item"><a href="/guide/" class="nav-link" exact="false" aria-label="指南"><!--[--><!--]--> 指南 <!--[--><!--]--></a></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="参考"><span class="title">参考</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="参考"><span class="title">参考</span><span class="right arrow"></span></button><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>VuePress</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a href="/reference/cli.html" class="nav-link" exact="false" aria-label="CLI"><!--[--><!--]--> CLI <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/config.html" class="nav-link" exact="false" aria-label="配置"><!--[--><!--]--> 配置 <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/frontmatter.html" class="nav-link" exact="false" aria-label="Frontmatter"><!--[--><!--]--> Frontmatter <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/components.html" class="nav-link" exact="false" aria-label="内置组件"><!--[--><!--]--> 内置组件 <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/plugin-api.html" class="nav-link" exact="false" aria-label="插件 API"><!--[--><!--]--> 插件 API <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/theme-api.html" class="nav-link" exact="false" aria-label="主题 API"><!--[--><!--]--> 主题 API <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>打包工具</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a href="/reference/bundler/webpack.html" class="nav-link" exact="false" aria-label="Webpack"><!--[--><!--]--> Webpack <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/bundler/vite.html" class="nav-link" exact="false" aria-label="Vite"><!--[--><!--]--> Vite <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>默认主题</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a href="/reference/default-theme/config.html" class="nav-link" exact="false" aria-label="Config"><!--[--><!--]--> Config <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/default-theme/frontmatter.html" class="nav-link" exact="false" aria-label="Frontmatter"><!--[--><!--]--> Frontmatter <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/reference/default-theme/components.html" class="nav-link" exact="false" aria-label="内置组件"><!--[--><!--]--> 内置组件 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="了解更多"><span class="title">了解更多</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="了解更多"><span class="title">了解更多</span><span class="right arrow"></span></button><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>深入</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a href="/guide/advanced/markdown.html" class="nav-link" exact="false" aria-label="Markdown 与 Vue SFC"><!--[--><!--]--> Markdown 与 Vue SFC <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/guide/advanced/theme.html" class="nav-link" exact="false" aria-label="开发主题"><!--[--><!--]--> 开发主题 <!--[--><!--]--></a></li><li class="dropdown-subitem"><a href="/guide/advanced/plugin.html" class="nav-link" exact="false" aria-label="开发插件"><!--[--><!--]--> 开发插件 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="dropdown-item"><!--[--><h4 class="dropdown-subtitle"><span>其他资源</span></h4><ul class="dropdown-subitem-wrapper"><!--[--><li class="dropdown-subitem"><a aria-current="page" href="/contributing.html" class="router-link-active router-link-exact-active nav-link" exact="false" aria-label="贡献指南"><!--[--><!--]--> 贡献指南 <!--[--><!--]--></a></li><li class="dropdown-subitem"><a class="nav-link external" href="https://github.com/vuepress/vuepress-next/blob/main/CHANGELOG.md" rel="noopener noreferrer" target="_blank" aria-label="更新日志"><!--[--><!--]--> 更新日志 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></li><li class="dropdown-subitem"><a class="nav-link external" href="https://github.com/vuepress/awesome-vuepress" rel="noopener noreferrer" target="_blank" aria-label="Awesome VuePress"><!--[--><!--]--> Awesome VuePress <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></li><li class="dropdown-subitem"><a class="nav-link external" href="https://v1.vuepress.vuejs.org/zh/" rel="noopener noreferrer" target="_blank" aria-label="v1 文档"><!--[--><!--]--> v1 文档 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></li><li class="dropdown-subitem"><a class="nav-link external" href="https://v0.vuepress.vuejs.org/zh/" rel="noopener noreferrer" target="_blank" aria-label="v0 文档"><!--[--><!--]--> v0 文档 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-links-item"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="选择语言"><span class="title">选择语言</span><span class="arrow down"></span></button><button class="mobile-dropdown-title" type="button" aria-label="选择语言"><span class="title">选择语言</span><span class="right arrow"></span></button><ul style="display:none;" class="nav-dropdown"><!--[--><li class="dropdown-item"><a aria-current="page" href="/contributing.html" class="router-link-active router-link-exact-active nav-link" exact="false" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="dropdown-item"><a href="/en/contributing.html" class="nav-link" exact="false" aria-label="en-US"><!--[--><!--]--> en-US <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/dyabp/dyabp" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-links"><!--[--><!--[--><section class="sidebar-group"><p class="sidebar-heading">贡献指南</p><ul class=""><li><!--[--><a aria-current="page" href="/contributing.html#概览" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="概览"><!--[--><!--]--> 概览 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/contributing.html#开发配置" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="开发配置"><!--[--><!--]--> 开发配置 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/contributing.html#开发脚本" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="开发脚本"><!--[--><!--]--> 开发脚本 <!--[--><!--]--></a><ul class="sidebar-sub-headers"><li><!--[--><a aria-current="page" href="/contributing.html#yarn-build" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="yarn build"><!--[--><!--]--> yarn build <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/contributing.html#yarn-copy" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="yarn copy"><!--[--><!--]--> yarn copy <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/contributing.html#yarn-dev" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="yarn dev"><!--[--><!--]--> yarn dev <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/contributing.html#yarn-clean" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="yarn clean"><!--[--><!--]--> yarn clean <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/contributing.html#yarn-docs" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="yarn docs:*"><!--[--><!--]--> yarn docs:* <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/contributing.html#yarn-lint" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="yarn lint"><!--[--><!--]--> yarn lint <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/contributing.html#yarn-test" class="router-link-active router-link-exact-active nav-link sidebar-link" exact="false" aria-label="yarn test"><!--[--><!--]--> yarn test <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li></ul></section><!--]--><!--]--></ul><!--[--><!--]--></aside><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="贡献指南"><a class="header-anchor" href="#贡献指南">#</a> 贡献指南</h1><h2 id="概览"><a class="header-anchor" href="#概览">#</a> 概览</h2><p>项目仓库借助于 <a href="https://classic.yarnpkg.com/zh-Hans/docs/workspaces" target="_blank" rel="noopener noreferrer">Yarn Classic 工作区<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span></a> 来实现 <a href="https://en.wikipedia.org/wiki/Monorepo" target="_blank" rel="noopener noreferrer">Monorepo<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span></a> ,在 <code>packages</code> 目录下存放了多个互相关联的独立 Package 。</p><ul><li><p><code>@vuepress/core</code>: Core 模块。提供 Node API 来创建 VuePress App ,包括页面逻辑、插件系统、数据准备等功能。</p></li><li><p><code>@vuepress/client</code>: Client 模块。包含客户端页面入口,并提供了客户端开发时可以用到的类型和工具函数。</p></li><li><p><code>@vuepress/bundler-webpack</code>: 基于 Webpack 的 Bundler 模块。使用 Webpack 对 VuePress App 执行 <code>dev</code> 和 <code>build</code> 操作。</p></li><li><p><code>@vuepress/cli</code>: 命令行接口 (CLI) 模块。包含解析用户配置文件、调用 <code>@vuepress/core</code> 创建 VuePress App 、调用 <code>@vuepress/bundler-${name}</code> 来执行对应命令等功能。</p></li><li><p><code>@vuepress/theme-default</code>: 默认主题。</p></li><li><p><code>@vuepress/plugin-${name}</code>: 官方插件。</p></li><li><p><code>@vuepress/shared</code>: 既可以在 Node 端使用、也可以在客户端使用的工具函数模块。</p></li><li><p><code>@vuepress/utils</code>: 仅可以在 Node 端使用的工具函数模块。</p></li><li><p><code>vuepress</code>: 是 <code>@vuepress/cli</code> + <code>@vuepress/bundler-webpack</code> + <code>@vuepress/theme-default</code> 的简单封装。如果用户想使用 默认主题 + Webpack ,仅安装这个 Package 就可以了。</p></li></ul><h2 id="开发配置"><a class="header-anchor" href="#开发配置">#</a> 开发配置</h2><p>开发要求:</p><ul><li><a href="http://nodejs.org" target="_blank" rel="noopener noreferrer">Node.js<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span></a> <strong>version 12+</strong></li><li><a href="https://classic.yarnpkg.com/zh-Hans/docs/install" target="_blank" rel="noopener noreferrer">Yarn v1 classic<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span></a></li></ul><p>克隆代码仓库,并安装依赖:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">yarn</span>
</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div><p>监听源文件修改:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">yarn</span> dev
</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div><p>打开另一个终端,开始开发项目文档网站:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">yarn</span> docs:dev
</code></pre><div class="line-numbers"><span class="line-number">1</span><br></div></div><p>本项目开发使用的一些主要工具:</p><ul><li><a href="https://www.typescriptlang.org/" target="_blank" rel="noopener noreferrer">TypeScript<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span></a> 作为开发语言</li><li><a href="https://jestjs.io/" target="_blank" rel="noopener noreferrer">Jest<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span></a> 用于单元测试</li><li><a href="https://eslint.org/" target="_blank" rel="noopener noreferrer">ESLint<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span></a> + <a href="https://prettier.io/" target="_blank" rel="noopener noreferrer">Prettier<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span></a> 用于代码检查和格式化</li></ul><h2 id="开发脚本"><a class="header-anchor" href="#开发脚本">#</a> 开发脚本</h2><h3 id="yarn-build"><a class="header-anchor" href="#yarn-build">#</a> <code>yarn build</code></h3><p><code>build</code> 命令会使用 <code>tsc</code> 将 TS 源文件编译为 JS 文件。</p><p>你在克隆代码仓库后,可能需要先执行该命令来确保项目代码可以顺利运行,因为编译后的 JS 文件被 <code>.gitignore</code> 排除在仓库以外了。</p><h3 id="yarn-copy"><a class="header-anchor" href="#yarn-copy">#</a> <code>yarn copy</code></h3><p><code>copy</code> 命令会执行所有子 Package 中的 <code>copy</code> 命令,将一些资源文件从源代码目录复制到输出目录。</p><p>一些资源文件(如 <code>.vue</code>, <code>.styl</code> 文件等)不能被 <code>build</code> 命令处理,但是同样需要将他们放置到输出目录中。</p><p>你在克隆代码仓库后,可能也需要先执行该命令来确保项目代码可以顺利运行。</p><h3 id="yarn-dev"><a class="header-anchor" href="#yarn-dev">#</a> <code>yarn dev</code></h3><p><code>dev</code> 命令使用监听 (watch) 模式执行 <code>copy</code> 和 <code>build</code> 命令。</p><h3 id="yarn-clean"><a class="header-anchor" href="#yarn-clean">#</a> <code>yarn clean</code></h3><p><code>clean</code> 命令会执行所有子 Package 中的 <code>clean</code> 命令,清除所有的输出文件目录和缓存文件。换言之,它将移除所有通过 <code>build</code> 和 <code>copy</code> 命令生成的文件。</p><p>当你想要从最初状态重新构建源代码时,你可以执行该命令。</p><h3 id="yarn-docs"><a class="header-anchor" href="#yarn-docs">#</a> <code>yarn docs:*</code></h3><h4 id="yarn-docs-build-yarn-docs-dev-yarn-docs-clean"><a class="header-anchor" href="#yarn-docs-build-yarn-docs-dev-yarn-docs-clean">#</a> <code>yarn docs:build</code>, <code>yarn docs:dev</code>, <code>yarn docs:clean</code></h4><p><code>docs:</code> 前缀表明,这些命令是针对文档 (documentation) 进行操作的,即 <code>docs</code> 目录。</p><p>VuePress 使用它自己来构建自己的文档网站。</p><p>你需要先执行 <code>yarn build && yarn copy</code> 来构建 VuePress 源代码,然后再运行这些 <code>docs:</code> 开头的命令来开发或构建文档。</p><h4 id="yarn-docs-serve"><a class="header-anchor" href="#yarn-docs-serve">#</a> <code>yarn docs:serve</code></h4><p>在本地启动文档网站服务器。</p><p>你需要先运行 <code>yarn docs:build</code> 来生成文档网站的输出文件,然后再通过该命令来启动文档网站。</p><h3 id="yarn-lint"><a class="header-anchor" href="#yarn-lint">#</a> <code>yarn lint</code></h3><p><code>lint</code> 命令使用 ESLint 来检查所有源文件。</p><h3 id="yarn-test"><a class="header-anchor" href="#yarn-test">#</a> <code>yarn test</code></h3><p><code>test</code> 命令使用 Jest 来运行单元测试。</p><!--]--></div><footer class="page-meta"><div class="meta-item edit-link"><a class="nav-link external meta-item-label" href="https://github.com/dyabp/dyabp/edit/main/docs/contributing.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页"><!--[--><!--]--> 在 GitHub 上编辑此页 <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" ariahidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">在新窗口打开</span><!--]--></span><!--[--><!--]--></a></div><div class="meta-item last-updated"><span class="meta-item-label">上次更新: </span><span class="meta-item-info">2021/1/31 上午5:05:18</span></div><!----></footer><!----><!--[--><!--]--></main></div><!----><!--]--></div>
<script src="/assets/js/runtime~app.6a0151b4.js" defer></script><script src="/assets/js/332.0032fdc6.js" defer></script><script src="/assets/js/app.16908970.js" defer></script>
</body>
</html>
About
Dyabp docs
Contributing
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published