0%

定义相关变量与函数

定义 Axios 的 baseUrl

const BASE_URL = process.env.VUE_APP_BASEURL

定义 Token 的刷新状态

let isRefreshing = false

定义 Token 失效后,发送的请求的容器 – 缓存接口

let subscribers = []
阅读全文 »

安装

eslint 一样的是, commitlint 自身只提供了检测的功能和一些最基础的规则,使用者需要根据这些规则配置出自己的规范。

对于 Conventional Commits 规范,社区已经整理好了 @commitlint/config-conventional 包,我们只需要安装并启用它就可以了。

首先安装 commitlint 以及 conventional 规范:

npm install --save-dev @commitlint/cli @commitlint/config-conventional
阅读全文 »

介绍

Github Actions 可以很方便实现 CI/CD 工作流,类似 Travis 的用法,来帮我们完成一些工作,比如实现自动化测试、打包、部署等操作。当我们运行 Jobs 时,它会创建一个容器 (runner),容器支持:Ubuntu、Windows 和 MacOS 等系统,在容器中我们可以安装软件,利用安装的软件帮我们处理一些数据,然后把处理好的数据推送到某个地方。

本文将介绍利用 Github Actions 实现自动部署 hexo 到 Github Pages 以及自动部署自己的静态网页,在之前我们需要写完文章执行 hexo generate --deploy 来部署,当你文章比较多的时候,可能还需要等待很久,而且还可能会遇到本地安装的 Node.js 版本与 Hexo 不兼容的问题,利用 Github Actions 你将会没有这些烦恼。

阅读全文 »

Fragment(碎片)

vue3 支持 碎片( fragment ), 但是仍然推荐单根组件,因为父组件传入的一些非 props 会出问题,没有地方可以绑定。这种情况下,要求开发者明确定义属性应该分布在哪里。

<!-- Layout.vue -->
<template>
  <header>...</header>
  <main v-bind="$attrs">...</main>
  <footer>...</footer>
</template>
阅读全文 »