Hello World
我是Big0range 不是 BigOrange因为O这个单词,太胖了,不好看
.dot{
width: 8px;
height: 8px;
border-radius: 50%;
background: #635854;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
.boxs {
font-size: 0;
width: 220px;
height: 220px;
animation:circleRoate 2s infinite;
animation-timing-function:linear;
...
vane 一个适用于前端打工人的全栈框架,nodejs+vue3+typescript
vane写这个的初衷是因为每次用node写接口的时候总是需要一些写大一堆的东西, 也有些人把很多接口都放在一个js文件内, 看起来很是杂乱, 后来用到nuxt写的时候, 感觉用文件名来命名接口路径很是方便, 无论是query参数还是params参数,都可以通过文件名来命名, 也可以通过文件夹层级清晰的反映出接口之间的关系, 于是就有了这个项目, 能够节省很大一部分时间, 也能够让接口更加清晰, 也能够让接口更加清晰, 也能够让接口更加清晰, 重要的事情说三遍。节省下来的时间用来休息和摸鱼多好(不是让你接着内卷的)。如果真的帮到了你的话,觉得这个项目还不错的话, 可以给我一个star, 也可以给我一个star, 也可以给我一个star, 重要的事情说三遍。
github传送门
gitee传送门
技术栈webVue3, TypeScript, Vite nodeservernode, TypeScript, express, sequelize, mysql, redisserver进阶docker, docker-componse, pm2
node版本: ^18pnpm版本: ^8 ...
获取数组元素的类型 普通函数的返回类型 Promise的返回类型 ()=>Promise的返回类型
获取数组元素的类型 普通函数的返回类型 Promise的返回类型 ()=>Promise的返回类型获取数组元素的类型123type Unpacked<T> = T extends (infer U)[] ? U : T;// type A = stringtype A = Unpacked<string[]>
这段代码的意思是 判断T是不是数组类型 如果是则返回该数组元素的类型 否则返回T
普通函数的返回类型123type Unpacked<T> = T extends (...args: any[]) => infer U ? U : T;// type B = numbertype B = Unpacked<() => number>
这段代码的意思是 判断T是不是Function类型 如果是则返回Function return的类型 否则返回T
Promise的返回类型123type Unpacked<T> = T extends Promise<infer U> ? U : ...
为什么null==0为false
为什么 null == 0 为false 以下为文档截图 附上链接 https://tc39.es/ecma262/#sec-islooselyequal
x,y如果类型相同 则比较转化为字符串之后的值
x是null y是undefined 返回true……
如果没有符合以上类型的 则返回false
大家都知道 null 是Object类型, 0是Number类型x是Object y是Numberjs在根据比较规则一一对应时 发现并没有匹配的 也就不知道该怎么比较 只能按第14条规则来return false
真是离了个大普
并且由于ES6 采用了一种策略叫One JavaScript即:
新版本始终完全向后兼容(但偶尔可能会有轻微、不明显的清理)
旧特性不删除也不修复,而是引入更好的版本,比如let就是var的改进版
如果语言的某些方面有变化,只在新的语法结构内生效,即隐式选用,例如,yield只在generator中才是关键字、模块和类中的所有代码都默认开启严格模式
所以这个问题很大概率不会修复 最多会引入新的比较方式
Nuxt 中的store数据持久化存储(防止Vuex数据刷新丢失)
Nuxt 中的store数据持久化存储(防止Vuex数据刷新丢失)第一步在根目录plugins文件夹下新建一个store.js(没有plugins的话就自己新建一个)
第二步12345678910111213141516export default ({ app }) => { // 获取到store const store = app.store // 获取到session中store数据 有就存入 if (sessionStorage.getItem('store')) { store.replaceState(Object.assign({}, store.state, JSON.parse(sessionStorage.getItem('store')))) } // 在页面刷新时将vuex里的信息保存到sessionStorage里 window.addEventListener('beforeunload', () =& ...
前端项目搭建规范
项目搭建规范一 代码规范1.1. 集成editorconfig配置EditorConfig 有助于为不同 IDE 编辑器上处理同一项目的多个开发人员维护一致的编码风格。
123456789101112131415# http://editorconfig.orgroot = true[*] # 表示所有文件适用charset = utf-8 # 设置文件字符集为 utf-8indent_style = space # 缩进风格(tab | space)indent_size = 2 # 缩进大小end_of_line = lf # 控制换行类型(lf | cr | crlf)trim_trailing_whitespace = true # 去除行首的任意空白字符insert_final_newline = true # 始终在文件末尾插入一个新行[*.md] # 表示仅 md 文件适用以下规则max_line_length = offtrim_trailing_whitespace = false
VSCode需要安装一个插件:EditorConfig for VS Code
...
手摸手带你用Hexo撸博客(三)之添加评论系统
注: 笔者采用的是butterfly主题, 主题内置集成评论系统
butterfly主题开启评论开启评论需要在comments-use中填写你需要的评论。
以Valine为例
123456789comments: use: - Valine # 是否显示服务商 text: true # 懒加载 开启之后无法计数 lazyload: false # 评论计数 count: true
配置你的 LeanCloud 应用遵循 Valine的指示去配置你的 LeanCloud 应用。以及查看相应的配置説明。
12345678910111213141516valine: appId: # 先空着 先空着 先空着 (leancloud application app id) appKey: # 先空着 先空着 先空着 (leancloud application app key) pageSize: 10 # comment list page size avatar: monsterid # gravatar style https://valine.js.o ...
手摸手带你用Hexo撸博客(二)之配置主题
在上一篇博客手摸手带你用Hexo撸博客(一)中主要介绍了博客的初步搭建今天我们继续讲如何在Hexo搭建的博客中应用主题
官网选择自己喜欢的主题点击这里Hexo主题进入官网主题页面然后选择自己喜欢的一个我这里选择的是Butterfly主题,也是我目前仍在使用的
安装目前有三种安装方式Gitee、GitHub、npm
Gitee安装
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
Github安装
git clone -b master https://gitee.com/iamjerryw/hexo-theme-butterfly.git themes/butterfly
NPM安装
npm i hexo-theme-butterfly
我个人建议Gitee安装 速度较快
划重点 划重点 划重点
在根目录下clone
在根目录下clone
在根目录下clone
重要的事情说三遍
在这里
右键点击 Git bash, 运行git工具
自己从gitee或git ...
css实现瀑布流布局
实现思路依赖column便可实现最简单实用的瀑布流布局
代码我这里前端框架用的是Vue, 用其他的也一样
HTML1234567<div class="waterfall"> <div v-for="(item,index) in 20" :style="{height:heights[Math.floor(Math.random()*4)] + 'px',background:colors[Math.floor(Math.random()*12)]}" :key="index"> {{item}} </div> </div>
Script12345678910111213<script> export default { data() ...
手摸手带你用Hexo撸博客(一)
手摸手带你撸博客(一)环境搭建安装 node狂点下一步
命令行输入此条命令 如果能看到版本号则安装成功
1node -v
安装Git(同上) 实在不会的小伙伴百度一下,教程很多,不细说了
命令行输入此条命令 如果能看到版本号则安装成功
1git version
安装 Hexo博客的搭建工具有很多,这里我选用的是Hexo,原因嘛,因为我只会这一个,相同功能的轮子会一个就够了,而且也确实好用
全局安装Hexo
打开 CMD
npm install -g hexo-cli
安装完成后,就可以通过Hexo搭建博客了 。
进入要创建项目的目录, 执行以下命令
1hexo init my-blog
新建完成后,指定文件夹的目录如下:
1234567├── _config.yml 博客主题的大部分参数配置(不包括主题)├── package.json 这就不用说了吧├── scaffolds (模板文件夹 新建文件时根据模板创建)├── source | ├── _drafts(博客草稿文件,需要自己新建) | └── _posts (博客的MD文件,你所写的文章一 ...