- 博客(87)
- 收藏
- 关注
原创 约定式提交 commit 规范
├── public├── src└── .cz-config.js // 创建是一个可以在 Git hooks 中使用的 npm 包,它可以帮助你在特定的 Git 事件发生时执行命令,例如提交代码之前进行代码格式化、测试等操作."husky"是一个为了方便使用Git hooks的工具,它能够帮助你在项目中自动化地执行一些Git相关的操作。使用husky,你可以在Git的一些关键操作(例如提交、推送、合并等)前或后,执行一些脚本或命令,比如代码格式化、自动化测试、打包发布等。
2024-03-15 16:46:37 1348
原创 模块化(理解)
将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起 块的内部数据/实现是私有的, 只是向外部暴露一些接口(方法)与外部其它模块通信一个模块的组成数据--->内部的属性操作数据的行为--->内部的函数模块化编码时是按照模块一个一个编码的, 整个项目就是一个模块化的项目模块化的进化过程编码: 全局变量/函数问题: 污染全局命名空间, 容易引起命名冲突/数据不安全namespace模式 :编码: 将数据/行为封装到对象中。
2024-03-08 11:48:04 355
原创 Vite搭建Vue3项目(全套模板)
今天来带大家从0开始搭建一个vue3版本的后台管理系统。一个项目要有统一的规范,需要使用eslintstylelintprettier来对我们的代码质量做检测和修复,需要使用husky来做commit拦截,需要使用commitlint来统一提交规范,需要使用preinstall来统一包管理工具。下面我们就用这一套规范来初始化我们的项目,集成一个规范的模版。
2024-02-27 22:42:33 1718
原创 vite 打包图标icon ,content 内容乱码
解决:vite.config.ts / vite.config.js 文件添加配置。问题描述:本地开发环境icon 显示正常,打包后发布线上环境icon乱码。验证:本地再次打包,在dist/css 文件中查找发现,可以正确编译。找问题:观察发现是content 内容没有编译成功导致乱码。发布线上环境,大功告成,完美解决!
2023-12-13 10:38:33 1199 5
原创 vue3 技术栈
vue3-draggable-resizable 拖拽插件。vue3-video-play 播放器。element-plus UI组件库。pinia 状态管理。
2023-03-15 14:14:46 94
原创 XSS攻击和CSRF攻击的定义及区别
CSRF1.CSRF的基本概念、缩写、全称CSRF(Cross-site request forgery):跨站请求伪造。PS:中文名一定要记住。英文全称,如果记不住也拉倒。2.CSRF的攻击原理用户是网站A的注册用户,且登录进去,于是网站A就给用户下发cookie。从上图可以看出,要完成一次CSRF攻击,受害者必须满足两个必要的条件:(1)登录受信任网站A,并在本地生成Cookie。(如果用户没有登录网站A,那么网站B在诱导的时候,请求网站A的api接口时,会提示你登.
2022-03-29 17:29:38 699
原创 函数节流情景应用
function throttle(fn, delay) { let first = true, timestamp, ctx = this; return function() { if (first) { timestamp = Date.now(); fn.apply(ctx, arguments); first = false; } else { let t = Date.now(); if ...
2022-01-14 16:04:02 227
原创 UUID生成
UUID 是指Universally Unique Identifier,翻译为中文是通用唯一识别码,UUID 的目的是让分布式系统中的所有元素都能有唯一的识别信息。如此一来,每个人都可以创建不与其它人冲突的 UUID,就不需考虑数据库创建时的名称重复问题。function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36; i++) { s[i] = hexDigi
2021-12-23 15:04:09 1022
原创 vue项目-选项卡显示监听事件
当其选项卡的内容变得可见或被隐藏时,会在文档上触发visibilitychange(能见度更改)事件。https://developer.mozilla.org/zh-CN/docs/Web/API/Document/visibilitychange_eventdocument.addEventListener("visibilitychange", function() { if (document.visibilityState === 'visible') { backgro..
2021-12-09 10:54:58 351
原创 Git分布式的版本控制
1.版本控制 什么是版本控制?我们为什么要关心它呢?版本控制是一种记录一个或若干文 件内容变化,以便将来查阅特定版本修订情况的系统 为什么要使用版本控制?软件开发中采用版本控制系统是个明智的选择。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某 个时间点的状态。就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以 轻松恢复到原先的样子。但额外增加的工作量却微乎其微。 你可以比较文件的变化细节,查出最后是谁修改...
2021-09-15 16:00:29 201
原创 排列组合
计算组合数/*e:数组长度t:组合数组的长度*/nCr(e, t) { if (t > e) return 0; var n = 1; ~~(e / 2) + 1 > t && (t = e - t); for (var a = t + 1; a <= e; a++) n *= a; for (var r = 1; r <= e - t; r++) n /= r; return n
2021-08-31 11:46:17 117
原创 H5横屏竖屏切换(js)
function () { let width = document.documentElement.clientWidth, height = document.documentElement.clientHeight, wrapper = document.getElementById("app"), style = ""; if (width >= height) {.
2021-07-14 15:13:55 4696 3
原创 分秒计时器(倒计时和顺计时)
倒计时function countDown (date){ let dateArr =date.split(':') // console.log(dateArr) dateArr.forEach((element,index) =>{ let OOOI = dateArr[1],OOII=dateArr[0],time; if(index===1){ let set_interval = setInterval(() => { ..
2021-04-14 16:30:33 476
原创 获取地址栏参数
//获取地址栏参数,name:参数名称function getUrlParms(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return decodeURIComponent(r[2]); return null;}...
2021-03-31 14:50:21 308
原创 数字格式化保留两位小数(10000.00=>100 、00.00)
function fmoney(s, n) { n = n > 0 && n <= 20 ? n : 2;s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";let l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];let t = "";for (let i = 0; i < l.length; i++) .
2021-03-20 09:04:24 466
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人