typescript笔记-day2
函数函数类型签名
描述了函数入参类型与函数返回值类型
要么直接在函数中进行参数和返回值的类型声明,要么使用类型别名将函数声明抽离出来:
const foo = function (name: string): number { return name.length}type FuncFoo = (name: string) => numberconst foo: FuncFoo = (name) => { return name.length}
重载
在某些逻辑较复杂的情况下,函数可能有多组入参类型和返回值类型:
function func(foo: number, bar?: boolean): string | number { if (bar) { return String(foo); } else { return foo * 599; }}// 重载签名1function func(foo: number, bar: true): st ...
sh脚本
不能随意空格
1、echo:打印信息echo "Kylin"
2、exit:用于终止脚本的执行,并返回一个退出状态码
正常退出echo "脚本执行完毕"exit 0
异常退出if [ $# -lt 1 ];then echo "参数不足" exit 1fi
3、$0、$1、$2等
假设执行 ./test.sh a b c 这样一个命令,则可以使用下面的参数来获取一些值:
$0 对应 ./test.sh 这个值。如果执行的是 ./work/test.sh, 则对应 ./work/test.sh 这个值,而不是只返回文件名本身的部分。
$1 会获取到 a,即 $1 对应传给脚本的第一个参数。
$2 会获取到 b,即 $2 对应传给脚本的第二个参数。
$3 会获取到 c,即 $3 对应传给脚本的第三个参数。$4、$5 等参数的含义依此类推。
3.1、在vue中
npm run test
"test": "sh scripts/test.sh"#!/bin ...
typescript笔记-day1
插件
TypeScript Importer:收集你项目内所有的类型定义,在你敲出:时提供这些类型来进行补全。如果你选择了一个,它还会自动帮你把这个类型导入进来
Move TS:通过编辑文件的路径,直接修改项目的目录结构
Error Lens:把你的 VS Code 底部问题栏的错误下直接显示到代码文件中的对应位置
TS文件的快速执行
ts-node
npm i ts-node typescript -g
ts-node-dev
支持自动地监听文件变更然后重新执行
ts-node-dev 基于 node-dev(你可以理解一个类似 nodemon 的库,提供监听文件重新执行的能力) 与 ts-node 实现,并在重启文件进程时共享同一个 TS 编译进程,避免了每次重启时需要重新实例化编译进程等操作。
npm i ts-node-dev -g
null和undefined
在 TypeScript 中,null 与 undefined 类型都是有具体意义的类型
在没有开启 strictNullChecks 检查的情况下,会被视作其他类型的子类型,比如 string 类型会 ...
github图床
搭建github图床github
首先需要创建一个公开的仓库,随便什么名字都可以
(可选)创建img分支,在该分支下创建image文件夹,当然取什么名字在于你
使用oss软件上传图片到github的话,我们需要生成一个github的token,找到Setting
按如下操作,当然取什么名字随你,也可自定义过期时间,选择权限范围为repo即可,最后点击generate token即可生成token
oss软件PicGo
PicGo是一个用于上传图片的客户端,支持拖拽上传、剪贴板上传,功能十分方便。
我这用的是山东大学的镜像地址会快一点
按照如下设置即可,也可以自定义域名
自定义域名需要配置为:https://cdn.jsdelivr.net/gh/用户名/仓库名,这样就才可以通过cdn访问图片
uPic
uPic是一个用于上传图片的客户端,支持拖拽上传、剪贴板上传,功能十分方便。
github地址
软件下载地址
使用方法也都差不多
Typora实现自动上传
在设置中找到图像,按后侧所示设置
github部署小记
github部署hexo博客
使用了一个公有仓库和私有仓库联合部署,优点是别人看不到源代码
新建仓库就不多赘述了
需要在私有仓库设置密钥
将源代码提交至私密仓库,在.github文件夹下新建workflows文件夹,在这个文件夹下新建xxx.yml文件
name: deploying Hexo project to GitHub pageson: push: branches: - main # main 分支有 push 行为时就触发这个 actionjobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master - name: Build and Deploy uses: theme-keep/hexo-deploy-github-pages-action@master # 使用专门部署 Hexo 到 GitHub pages 的 action env ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment