UNPKG

@shixinde/vuepress-theme-init

Version:
166 lines (165 loc) 37.8 kB
import{_ as s,c as n,o as a,a as e}from"./app-Dx9bNbfq.js";const i={},l=e(`<h2 id="tip" tabindex="-1"><a class="header-anchor" href="#tip"><span>TIP</span></a></h2><blockquote><p><a href="https://cz-git.qbb.sh/zh/guide/#%E5%85%A8%E5%B1%80%E4%BD%BF%E7%94%A8" target="_blank" rel="noopener noreferrer">全局安装</a> <code>commitizen</code>,如此一来可以快速使用 <code>cz</code><code>git cz</code> 命令进行启动。</p></blockquote><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">npm</span> <span class="token function">install</span> <span class="token parameter variable">-g</span> commitizen</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h2 id="格式化工具-pnpm-lint" tabindex="-1"><a class="header-anchor" href="#格式化工具-pnpm-lint"><span>格式化工具 --- pnpm lint</span></a></h2><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line">安装</span> <span class="line"> <span class="token function">npm</span> <span class="token function">install</span> <span class="token parameter variable">-D</span> pretty-quick 或者 <span class="token function">pnpm</span> <span class="token function">install</span> <span class="token parameter variable">-D</span> pretty-quick</span> <span class="line"> </span> <span class="line">执行</span> <span class="line"> <span class="token string">&quot;scripts&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string">&quot;lint&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;pretty-quick --staged&quot;</span>,</span> <span class="line"> <span class="token punctuation">}</span>,</span> <span class="line"></span> <span class="line"><span class="token string">&quot;lint&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;git add . &amp;&amp; pretty-quick --staged &amp;&amp; git add . &quot;</span>,</span> <span class="line">或着--------------------------------------------------------------------------</span> <span class="line"></span> <span class="line"> <span class="token function">pnpm</span> <span class="token function">install</span> lint-staged</span> <span class="line"> </span> <span class="line"> <span class="token string">&quot;scripts&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string">&quot;lint&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;lint-staged&quot;</span>,</span> <span class="line"> <span class="token punctuation">}</span>,</span> <span class="line"> </span> <span class="line"> <span class="token string">&quot;lint-staged&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string">&quot;*&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">[</span></span> <span class="line"> <span class="token string">&quot;prettier --write&quot;</span>,</span> <span class="line"> <span class="token string">&quot;git add .&quot;</span></span> <span class="line"> <span class="token punctuation">]</span></span> <span class="line"> <span class="token punctuation">}</span>,</span> <span class="line"></span> <span class="line"></span> <span class="line"></span> <span class="line">使用</span> <span class="line"> <span class="token function">npm</span> run lint <span class="token operator">|</span> <span class="token function">pnpm</span> lint</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="格式化规范" tabindex="-1"><a class="header-anchor" href="#格式化规范"><span>格式化规范</span></a></h2><blockquote><p>下载依赖</p></blockquote><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"> <span class="token function">npm</span> <span class="token function">install</span> <span class="token parameter variable">-D</span> prettier @shixinde/guoguo-prettier //npm</span> <span class="line"> <span class="token function">pnpm</span> <span class="token function">install</span> <span class="token parameter variable">-D</span> prettier @shixinde/guoguo-prettier //pnpm</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>pnpm i prettier ===&gt; &quot;lint:fix&quot;: &quot;prettier --write .&quot;, // 适用于新接手的 项目初始化</p><p>&quot;lint&quot;: &quot;pretty-quick --staged&quot;,</p><p>&quot;lint:fix&quot;: &quot;prettier --write .&quot;,</p></blockquote><blockquote><p>添加配置</p></blockquote><div class="language-diff line-numbers-mode" data-highlighter="prismjs" data-ext="diff" data-title="diff"><pre class="language-diff"><code><span class="line">// 根目录的 .prettierrc.js 如果报错 改为cjs .prettierrc.cjs</span> <span class="line">module.exports = {</span> <span class="line"><span class="token unchanged"><span class="token prefix unchanged"> </span><span class="token line"> ...require(&#39;@shixinde/guoguo-prettier&#39;),</span> <span class="line"></span></span>};</span> <span class="line"></span> <span class="line">// 根目录的 .prettierignore</span> <span class="line">index.html</span> <span class="line">pnpm-lock.yaml</span> <span class="line">public</span> <span class="line">dist</span> <span class="line">.history</span> <span class="line"></span> <span class="line">pnpm-lock.yaml</span> <span class="line">public</span> <span class="line">dist</span> <span class="line">.history</span> <span class="line">pnpm-lock.yaml</span> <span class="line">static/</span> <span class="line">.gitignore</span> <span class="line">.prettierignore</span> <span class="line">.prettierrc.json</span> <span class="line">commitlint.config.mjs</span> <span class="line">*.json</span> <span class="line">*.md</span> <span class="line">*.sh</span> <span class="line">.husky</span> <span class="line">node_modules/</span> <span class="line">.vscode/</span> <span class="line">**/*.ico</span> <span class="line"></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>如果遇到报错</p></blockquote><p><img src="https://aliyxd.oss-cn-beijing.aliyuncs.com/guoguo-notes/image-20241122162443752.png" alt="image-20241122162443752"></p><blockquote><p><strong>解决方案</strong></p><p>将根目录的<code> .prettierrc.js</code> 改为cjs ===&gt; <code>.prettierrc.cjs</code></p></blockquote><h2 id="提交规范工具-pnpm-gitcz" tabindex="-1"><a class="header-anchor" href="#提交规范工具-pnpm-gitcz"><span>提交规范工具 --- pnpm gitcz</span></a></h2><blockquote><p>安装</p></blockquote><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">npm</span> <span class="token function">install</span> <span class="token parameter variable">-g</span> commitizen //全局安装 安装过可以不用安装</span> <span class="line"></span> <span class="line"><span class="token function">npm</span> <span class="token function">install</span> <span class="token parameter variable">-D</span> cz-git</span> <span class="line"><span class="token function">pnpm</span> <span class="token function">install</span> @shixinde/guoguo-cz --save-dev</span> <span class="line"><span class="token function">pnpm</span> <span class="token function">install</span> @commitlint/<span class="token punctuation">{</span>config-conventional,cli<span class="token punctuation">}</span></span> <span class="line"></span> <span class="line">快速安装三个依赖</span> <span class="line"><span class="token function">pnpm</span> <span class="token function">install</span> <span class="token parameter variable">-D</span> cz-git @commitlint/<span class="token punctuation">{</span>config-conventional,cli<span class="token punctuation">}</span> @shixinde/guoguo-cz --save-dev</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><ol><li>配置 ----&gt; 在 package.json 中配置</li></ol></blockquote><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"> <span class="token string">&quot;scripts&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string">&quot;gitcz&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;git-cz&quot;</span></span> <span class="line"> <span class="token punctuation">}</span>,</span> <span class="line"> </span> <span class="line"> <span class="token string">&quot;config&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string">&quot;commitizen&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string">&quot;path&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;node_modules/cz-git&quot;</span>,</span> <span class="line"> <span class="token string">&quot;czConfig&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;node_modules/@shixinde/guoguo-cz/commitlint.config.js&quot;</span></span> <span class="line"> <span class="token punctuation">}</span>,</span> <span class="line"> <span class="token string">&quot;commitlint&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string">&quot;extends&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">[</span></span> <span class="line"> <span class="token string">&quot;@shixinde/guoguo-cz&quot;</span></span> <span class="line"> <span class="token punctuation">]</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"> <span class="token punctuation">}</span>,</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><ol start="2"><li>新增 ----&gt; 在 根目录 中添加 <code>commitlint.config.cjs </code> 文件</li></ol><p>&quot;@commitlint/config-conventional&quot; : 代码提交时的名称校验</p><p>&quot;@shixinde/guoguo-cz&quot;:pnpm gitcz 文字格式化提示</p></blockquote><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js" data-title="js"><pre class="language-javascript"><code><span class="line">module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token keyword">extends</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">&quot;@commitlint/config-conventional&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;@shixinde/guoguo-cz&quot;</span><span class="token punctuation">]</span><span class="token punctuation">,</span></span> <span class="line"><span class="token punctuation">}</span><span class="token punctuation">;</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="安装-commitlint-工具和规则集-【使用袁果锅生态可省略此步骤】" tabindex="-1"><a class="header-anchor" href="#安装-commitlint-工具和规则集-【使用袁果锅生态可省略此步骤】"><span>安装 commitlint 工具和规则集 【使用袁果锅生态可省略此步骤】</span></a></h2><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">npm</span> <span class="token function">install</span> --save-dev @commitlint/cli @commitlint/config-conventional</span> <span class="line"></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><h3 id="项目根目录新建文件-commitlint-config-cjs" tabindex="-1"><a class="header-anchor" href="#项目根目录新建文件-commitlint-config-cjs"><span>项目根目录新建文件 --&gt; commitlint.config.cjs</span></a></h3><blockquote><p><strong>Tip : 此处仅为技巧 , 使用袁果锅生态可省略此步骤</strong></p></blockquote><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line">module.exports <span class="token operator">=</span> <span class="token punctuation">{</span></span> <span class="line"> extends: <span class="token punctuation">[</span><span class="token string">&quot;@commitlint/config-conventional&quot;</span>, <span class="token string">&quot;@shixinde/guoguo-cz&quot;</span><span class="token punctuation">]</span>,</span> <span class="line"><span class="token punctuation">}</span><span class="token punctuation">;</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></blockquote><h2 id="安装-husky-用于git-拦截" tabindex="-1"><a class="header-anchor" href="#安装-husky-用于git-拦截"><span>安装 husky (用于git 拦截)</span></a></h2><div class="language-cmd line-numbers-mode" data-highlighter="prismjs" data-ext="cmd" data-title="cmd"><pre class="language-cmd"><code><span class="line">npm install husky --save-dev 或者 pnpm install husky --save-dev // 安装依赖</span> <span class="line"></span> <span class="line">npx husky-init // 安装初始化内容</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p><code>pre-commit</code> 中修改代码</p></blockquote><div class="language-diff line-numbers-mode" data-highlighter="prismjs" data-ext="diff" data-title="diff"><pre class="language-diff"><code><span class="line">#!/usr/bin/env sh</span> <span class="line">. &quot;$(dirname -- &quot;$0&quot;)/_/husky.sh&quot;</span> <span class="line"></span> <span class="line"><span class="token deleted-sign deleted"><span class="token prefix deleted">-</span><span class="token line"> npm test</span> <span class="line"></span></span><span class="token inserted-sign inserted"><span class="token prefix inserted">+</span><span class="token line"> npm run lint</span> <span class="line"></span></span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>增加 <code>commit-msg</code> 文件</p></blockquote><div class="language-diff line-numbers-mode" data-highlighter="prismjs" data-ext="diff" data-title="diff"><pre class="language-diff"><code><span class="line">#!/usr/bin/env sh</span> <span class="line">. &quot;$(dirname &quot;$0&quot;)/_/husky.sh&quot;</span> <span class="line"></span> <span class="line">npx --no-install commitlint --edit $1</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>Mac 电脑有可能会出现 commit-msg 钩子未生效问题</p><p>执行下面这个命令可以。.husky/* 为目录层级</p></blockquote><div class="language-typescript line-numbers-mode" data-highlighter="prismjs" data-ext="ts" data-title="ts"><pre class="language-typescript"><code><span class="line">chmod <span class="token number">777</span> <span class="token punctuation">.</span>husky<span class="token comment">/*</span> <span class="line"></span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>链接 https://blog.csdn.net/zy21131437/article/details/132713867</p><p><img src="https://aliyxd.oss-cn-beijing.aliyuncs.com/image-20250220164845983.png" alt="image-20250220164845983"></p><h2 id="增加国内镜像" tabindex="-1"><a class="header-anchor" href="#增加国内镜像"><span>增加国内镜像</span></a></h2><p>添加 .npmrc 文件</p><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js" data-title="js"><pre class="language-javascript"><code><span class="line">registry<span class="token operator">=</span>https<span class="token operator">:</span><span class="token operator">/</span><span class="token operator">/</span>registry<span class="token punctuation">.</span>npmmirror<span class="token punctuation">.</span>com</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="以下为全文件配置-成功可忽略" tabindex="-1"><a class="header-anchor" href="#以下为全文件配置-成功可忽略"><span>以下为全文件配置 -- 成功可忽略</span></a></h3><p><img src="https://aliyxd.oss-cn-beijing.aliyuncs.com/guoguo-notes/image-20241121140156285.png" alt="image-20241121140156285"></p><blockquote><p>.gitignore</p><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">*</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div></blockquote><blockquote><p>husky.sh</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token shebang important">#!/usr/bin/env sh</span></span> <span class="line"><span class="token keyword">if</span> <span class="token punctuation">[</span> <span class="token parameter variable">-z</span> <span class="token string">&quot;<span class="token variable">$husky_skip_init</span>&quot;</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span></span> <span class="line"> <span class="token function-name function">debug</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token keyword">if</span> <span class="token punctuation">[</span> <span class="token string">&quot;<span class="token variable">$HUSKY_DEBUG</span>&quot;</span> <span class="token operator">=</span> <span class="token string">&quot;1&quot;</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span></span> <span class="line"> <span class="token builtin class-name">echo</span> <span class="token string">&quot;husky (debug) - <span class="token variable">$1</span>&quot;</span></span> <span class="line"> <span class="token keyword">fi</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"></span> <span class="line"> <span class="token builtin class-name">readonly</span> <span class="token assign-left variable">hook_name</span><span class="token operator">=</span><span class="token string">&quot;<span class="token variable"><span class="token variable">$(</span><span class="token function">basename</span> -- <span class="token string">&quot;<span class="token variable">$0</span>&quot;</span><span class="token variable">)</span></span>&quot;</span></span> <span class="line"> debug <span class="token string">&quot;starting <span class="token variable">$hook_name</span>...&quot;</span></span> <span class="line"></span> <span class="line"> <span class="token keyword">if</span> <span class="token punctuation">[</span> <span class="token string">&quot;<span class="token variable">$HUSKY</span>&quot;</span> <span class="token operator">=</span> <span class="token string">&quot;0&quot;</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span></span> <span class="line"> debug <span class="token string">&quot;HUSKY env variable is set to 0, skipping hook&quot;</span></span> <span class="line"> <span class="token builtin class-name">exit</span> <span class="token number">0</span></span> <span class="line"> <span class="token keyword">fi</span></span> <span class="line"></span> <span class="line"> <span class="token keyword">if</span> <span class="token punctuation">[</span> <span class="token parameter variable">-f</span> ~/.huskyrc <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span></span> <span class="line"> debug <span class="token string">&quot;sourcing ~/.huskyrc&quot;</span></span> <span class="line"> <span class="token builtin class-name">.</span> ~/.huskyrc</span> <span class="line"> <span class="token keyword">fi</span></span> <span class="line"></span> <span class="line"> <span class="token builtin class-name">readonly</span> <span class="token assign-left variable">husky_skip_init</span><span class="token operator">=</span><span class="token number">1</span></span> <span class="line"> <span class="token builtin class-name">export</span> husky_skip_init</span> <span class="line"> <span class="token function">sh</span> <span class="token parameter variable">-e</span> <span class="token string">&quot;<span class="token variable">$0</span>&quot;</span> <span class="token string">&quot;<span class="token variable">$@</span>&quot;</span></span> <span class="line"> <span class="token assign-left variable">exitCode</span><span class="token operator">=</span><span class="token string">&quot;<span class="token variable">$?</span>&quot;</span></span> <span class="line"></span> <span class="line"> <span class="token keyword">if</span> <span class="token punctuation">[</span> <span class="token variable">$exitCode</span> <span class="token operator">!=</span> <span class="token number">0</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span></span> <span class="line"> <span class="token builtin class-name">echo</span> <span class="token string">&quot;husky - <span class="token variable">$hook_name</span> hook exited with code <span class="token variable">$exitCode</span> (error)&quot;</span></span> <span class="line"> <span class="token keyword">fi</span></span> <span class="line"></span> <span class="line"> <span class="token keyword">if</span> <span class="token punctuation">[</span> <span class="token variable">$exitCode</span> <span class="token operator">=</span> <span class="token number">127</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span></span> <span class="line"> <span class="token builtin class-name">echo</span> <span class="token string">&quot;husky - command not found in PATH=<span class="token environment constant">$PATH</span>&quot;</span></span> <span class="line"> <span class="token keyword">fi</span></span> <span class="line"></span> <span class="line"> <span class="token builtin class-name">exit</span> <span class="token variable">$exitCode</span></span> <span class="line"><span class="token keyword">fi</span></span> <span class="line"></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></blockquote><blockquote><p>commit-msg 校验是否报错 并不会校验提交的名称</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token shebang important">#!/usr/bin/env sh</span></span> <span class="line"><span class="token builtin class-name">.</span> <span class="token string">&quot;<span class="token variable"><span class="token variable">$(</span><span class="token function">dirname</span> <span class="token string">&quot;<span class="token variable">$0</span>&quot;</span><span class="token variable">)</span></span>/_/husky.sh&quot;</span></span> <span class="line"></span> <span class="line">npx --no-install commitlint <span class="token parameter variable">--edit</span> <span class="token variable">$1</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></blockquote><blockquote><p>pre-commit</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token shebang important">#!/usr/bin/env sh</span></span> <span class="line"><span class="token builtin class-name">.</span> <span class="token string">&quot;<span class="token variable"><span class="token variable">$(</span><span class="token function">dirname</span> -- <span class="token string">&quot;<span class="token variable">$0</span>&quot;</span><span class="token variable">)</span></span>/_/husky.sh&quot;</span></span> <span class="line"></span> <span class="line"><span class="token function">npm</span> run lint</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></blockquote><h2 id="项目根目录-editorconfig" tabindex="-1"><a class="header-anchor" href="#项目根目录-editorconfig"><span>项目根目录 .editorconfig</span></a></h2><blockquote><p>.editorconfig 通常用于统一代码风格,以便在不同的开发环境和编辑器中保持一致的格式。</p></blockquote><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js" data-title="js"><pre class="language-javascript"><code><span class="line"><span class="token punctuation">[</span><span class="token operator">*</span><span class="token punctuation">.</span><span class="token punctuation">{</span>js<span class="token punctuation">,</span>jsx<span class="token punctuation">,</span>ts<span class="token punctuation">,</span>tsx<span class="token punctuation">,</span>vue<span class="token punctuation">}</span><span class="token punctuation">]</span></span> <span class="line">indent_style <span class="token operator">=</span> space</span> <span class="line">indent_size <span class="token operator">=</span> <span class="token number">2</span></span> <span class="line">end_of_line <span class="token operator">=</span> lf</span> <span class="line">trim_trailing_whitespace <span class="token operator">=</span> <span class="token boolean">true</span></span> <span class="line">insert_final_newline <span class="token operator">=</span> <span class="token boolean">true</span></span> <span class="line">max_line_length <span class="token operator">=</span> <span class="token number">100</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="生成日志" tabindex="-1"><a class="header-anchor" href="#生成日志"><span>生成日志</span></a></h2><p>conventional-changelog 可以根据项目的 commit 和 metadata 信息自动生成 changelogs 和 release notes 的系列工具。</p><blockquote><p>安装</p></blockquote><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">npm</span> i <span class="token parameter variable">-D</span> conventional-changelog-cli conventional-changelog-gitmoji-config</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><blockquote><p>将新脚本添加到您的 package.json</p></blockquote><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token string">&quot;scripts&quot;</span> <span class="token builtin class-name">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token punctuation">..</span>.</span> <span class="line"> <span class="token string">&quot;changelog&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;conventional-changelog -p gitmoji-config -i CHANGELOG.md -s&quot;</span></span> <span class="line"><span class="token punctuation">}</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>运行 npm run changelog 生成日志</p></blockquote>`,53),t=[l];function p(c,o){return a(),n("div",null,t)}const r=s(i,[["render",p],["__file","重要_框架 - 初始化项目约束.html.vue"]]),d=JSON.parse('{"path":"/%E8%A2%81%E6%9E%9C%E9%94%85%E7%94%9F%E6%80%81/%E9%A1%B9%E7%9B%AE%E6%A1%86%E6%9E%B6%E5%8F%8A%E6%9E%B6%E6%9E%84/%E9%87%8D%E8%A6%81_%E6%A1%86%E6%9E%B6%20-%20%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE%E7%BA%A6%E6%9D%9F.html","title":"","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"TIP","slug":"tip","link":"#tip","children":[]},{"level":2,"title":"格式化工具 --- pnpm lint","slug":"格式化工具-pnpm-lint","link":"#格式化工具-pnpm-lint","children":[]},{"level":2,"title":"格式化规范","slug":"格式化规范","link":"#格式化规范","children":[]},{"level":2,"title":"提交规范工具 --- pnpm gitcz","slug":"提交规范工具-pnpm-gitcz","link":"#提交规范工具-pnpm-gitcz","children":[]},{"level":2,"title":"安装 commitlint 工具和规则集 【使用袁果锅生态可省略此步骤】","slug":"安装-commitlint-工具和规则集-【使用袁果锅生态可省略此步骤】","link":"#安装-commitlint-工具和规则集-【使用袁果锅生态可省略此步骤】","children":[]},{"level":2,"title":"安装 husky (用于git 拦截)","slug":"安装-husky-用于git-拦截","link":"#安装-husky-用于git-拦截","children":[]},{"level":2,"title":"增加国内镜像","slug":"增加国内镜像","link":"#增加国内镜像","children":[{"level":3,"title":"以下为全文件配置 -- 成功可忽略","slug":"以下为全文件配置-成功可忽略","link":"#以下为全文件配置-成功可忽略","children":[]}]},{"level":2,"title":"项目根目录 .editorconfig","slug":"项目根目录-editorconfig","link":"#项目根目录-editorconfig","children":[]},{"level":2,"title":"生成日志","slug":"生成日志","link":"#生成日志","children":[]}],"git":{"updatedTime":1755349061000,"contributors":[{"name":"袁果锅","email":"2914310412@qq.com","commits":1}]},"filePathRelative":"袁果锅生态/项目框架及架构/[重要]框架 - 初始化项目约束.md","excerpt":"<h2>TIP</h2>\\n<blockquote>\\n<p><a href=\\"https://cz-git.qbb.sh/zh/guide/#%E5%85%A8%E5%B1%80%E4%BD%BF%E7%94%A8\\" target=\\"_blank\\" rel=\\"noopener noreferrer\\">全局安装</a> <code>commitizen</code>,如此一来可以快速使用 <code>cz</code><code>git cz</code> 命令进行启动。</p>\\n</blockquote>\\n<div class=\\"language-bash\\" data-highlighter=\\"prismjs\\" data-ext=\\"sh\\" data-title=\\"sh\\"><pre class=\\"language-bash\\"><code><span class=\\"line\\"><span class=\\"token function\\">npm</span> <span class=\\"token function\\">install</span> <span class=\\"token parameter variable\\">-g</span> commitizen</span>\\n<span class=\\"line\\"></span></code></pre></div>"}');export{r as comp,d as data};