关于博客主题自动更新的问题记录

设置子模块 将 blog 仓库的主题文件夹设置成子模块 1git submodule add https://github.com/xiangshu233/hexo-theme-stellar.git themes/stellar 这样的好处是 fork 到自己仓库后只需点击 Fetch upstream 即可与上游原仓库保持同步。实现了既能魔改主题又可随时获取主题更新 首次: bl...

发布于   更新于 博客

包管理操作笔记

安装项目依赖npm / cnpm / pnpm12345678910npm install [package]// 简写npm i [package]// 安装指定版本npm i[package]@[version]npm i [package]@[tag]// 全局安装依赖npm i -g [package] yarn12345678910111213141516//...

发布于   更新于 前端工程化

ts 中 type 与 interface 的区别

类型别名 type类型别名用来给一个类型起个新名字,使用 type 创建类型别名,类型别名不仅可以用来表示基本类型,还可以用来表示对象类型、联合类型、元组和交集 12345678910111213141516171819202122232425// 基本类型type userName = string;// 联合类型type userId = string | number;// 数组类型t...

发布于 TS

typeScript 数据类型笔记

元组(tuple) 概念:就是一个规定了元素数量和每个元素类型的“数组”,而每个元素的类型,可以不相同 语法: 123456789// let 元组名: [类型1, 类型2, 类型3] = [值1, 值2, 值3];let tup1: [string, number, boolean] = ['哈哈~~', 18, true];// 只能输入两个,超出即报错const ...

发布于   更新于 TS

vue h() render() 渲染函数入门

必要的前置知识DOM 树在深入渲染函数之前,了解一些浏览器的工作原理是很重要的。以下面这段 HTML 为例: 12345<div> <h1>My title</h1> Some text content <!-- TODO: Add tagline --></div> 当浏览器读到这些代码时,它会建立一个 ”DOM 节点“ ...

发布于 Vue3

naive-ui 栅格布局笔记

基于 CSS Grid,响应式,远离 IE 'screen' 根据屏幕断点进行响应式布局 屏幕断点屏幕断点分为 断点前缀 最小宽度 css s 640px @media (min-width: 640px) { … } m 768px @media (min-width: 768px) { … } l 1024px @media (min-width: 1...

发布于 UI

typeScript 中的 ! ?

!的用法1234567891011121314{ // 用在赋值的内容时,使 null 和 undefined 类型可以赋值给其他类型并编译通过 // 表示该变量值可空 let y: number; let a: string; // y = null // 无法通过编译 // y = undefined // 无法通过编译 y = null...

发布于   更新于 TS

typeScript 中的数组类型定义

声明和初始化数组在 TypeScript 中声明和初始化数组也很简单,和声明数字类型和字符串类型的变量也差不多,只不过在指定数组类型时要在类型后面加上一个中括号 [] 语法格式 1const array_name: dataype[] = [val, val2]; 示例 声明一个 string 类型的数组 1const character: string[] = ["杨过&quo...

发布于 TS

vue3 ref() 响应式源码浅析

官方解释 ref 接收一个内部值并返回一个响应式且可变的ref对象。ref 对象具有指向内部值的单个property .value如果将对象分配为 ref 值,则通过 reactive 函数使该对象具有高度的响应式。 语法:const xxx = ref(initValue) ref() 返回一个包含响应式数据的引用对象 JS中操作数据需要加 xxx.value,模板中读取数据不需要加(内...

发布于 Vue3

vue3 响应式原理笔记

v2响应式原理 Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。 对象:其核心是递归 object 的每一个属性,(这也是浪费性能的地方),给每个对象属性增加 getter 和 setter,当属性发生变化的时候会更新视图 缺点:defineProperty 只能检测到对象自带的属性,无法检测到对象属性的新增...

发布于 Vue3
12345