- 博客(53)
- 收藏
- 关注
原创 git ssh建立连接
2. 打开文件,如果找不到文件,可以在文件夹根目录下输入文件路径(截止到文件夹,不包含文件名)回车来访问。3. 打开 id_rsa.pub 文件,复制里面的文本内容,粘贴到仓库的设置中的ssh keys 即可。直到出现 生成的 ssh 文件路径。
2024-03-13 16:12:26 259
原创 localStorage,sessionStorage 和 cookie区别
【代码】localStorage,sessionStorage 和 cookie区别。
2024-02-01 16:06:08 412 1
原创 webpack使用
1. 安装webpack,webpack-cli只安装webpack,运行webpack -v 提醒我需要安装webpack-clisudo cnpm install webpack -gsudo cnpm install webpack-cli -gwebpack -v # webpack: 5.72.0 webpack-cli: 4.9.2
2022-04-15 15:36:49 901
原创 react 打包时取消console和debugger
1. 安装uglifyjs-webpack-plugin# 使用--save安装,可能会提示webpack版本问题。cnpm install uglifyjs-webpack-plugin --save-dev2. 在config.js中配置chainWebpack// 引入const UglifyJsPlugin = require('uglifyjs-webpack-plugin');export default defineConfig({ ... chainWebpack:
2021-12-21 14:37:26 917
原创 使用verdaccio搭建私有npm库
1. 全局安装verdaccionpm install verdaccio -g2. 启动verdaccio此时,verdaccio已经启动,http://localhost:4873/ 已经可以访问,但是只能在本机访问。可以修改配置文件,通过访问ip的方式来访问。在 .config/verdaccio/config.yaml 文件末尾添加listen: 0.0.0.0:4873重新运行启动命令,便可以通过http://ip:4873的方式访问了。3. 使用pm2来启动verdacc
2021-12-02 17:32:51 1452
原创 正则表达式及常用的正则验证
字符描述^匹配开头$匹配结尾\将下一个字符标记为特殊字符*匹配0次或多次,相当于{0,}?匹配0次或1次,相当于{0,1}+匹配1次或多次,相当于{1,}{n}匹配n次{n,}至少匹配n次{n,m}至少匹配n次,最多匹配m次{n}匹配n次字符描述?跟在其他限制符后,表示非贪婪匹配,默认贪婪模式。例如对于字符串"ooo",o+?匹配到"o",o+匹配到"ooo".匹配除换行符外的...
2021-11-29 17:11:05 208
原创 ant-pro使用
取消默认登录页面1. src -> app.jsx 注释 getInitialState 函数下的 fetchUserInfo 方法2. src -> app.jsx 注释 layout 函数下的 onPageChange 方法
2021-11-23 10:42:06 1424
原创 git 命令
git 命令关于 tag1. 本地创建 taggit tag project_v1.0 无注释git tag -a project_v1 -m "项目1.0" 含注释2. 推送 tag 至远程git push origin tag project_v13.删除 taggit tag -d project_v1git push origin :refs/tags/project_v1关于 分支1.
2021-11-23 10:37:13 180
原创 将已有react+umi项目替换为MFSU启动方式
使用npm start启动项目时耗时长,使用umi dev可以加快启动速度,第一次使用会比较慢,之后启动时间在2s左右,热更新平均 600ms 左右MFSU issue地址 https://github.com/umijs/umi/issues/6766操作前先检查是否全局安装umiumi -v我的项目虽然使用了umi.js,但是没有全局安装。后面运行 umi dev时报错 umi: command not found。全局安装 uminpm install -g umi // win.
2021-07-30 11:06:43 2104
原创 react + ant-ProTable 表格跨页选择
protable 选择行设计到的api有onSelect - 单行选择onSelectMultiple - 多行选择(使用shift键可以触发多选)onSelectAll - 全选全不选onChange - 每次选择行都会触发onChange,并且是后执行。跨页选择逻辑cancleRowKeys - 取消选择的行mySelectedRowKeys - 选中的行选择行时,判断是选择还是取消选择,如果是取消选择,将行key存储至 cancleRowKeys 中在onChange 方法中
2021-07-02 10:40:02 1520
原创 excel 常用公式
身份证号提取性别=IF(MOD(MID(F1576,17,1),2),“男”,“女”)身份证号提取年龄=YEAR(TODAY())-MID(F3,7,4)查询重复身份证号=IF(SUMPRODUCT(–(F$1:F$1997=F1589))>1,“重复”,"")查询数字的小数位数,整数计算结果是-1=len(A1)-len(int(A1))-1...
2021-06-18 10:18:05 575
原创 vue3 teleport传送门
vue3 新增的teleport 可以实现将组件内的元素移动到组件外的dom节点内。to 指向渲染组件的dom // index.html<body> <div id="app"></div> <div id="modal"></div></body>// modalComp.vue<div> <div class="mask"></div> <teleport
2021-06-17 10:12:46 398
原创 vue 为路径设置别名
vue-cli3在vue.config.js文件中配置路径别名const path = require("path");const resolve = (dir) => { return path.join(__dirname, dir);};module.exports = { chainWebpack: config => { config.resolve.alias.set('@',resolve('src')) }};...
2021-06-16 17:16:31 102
原创 dom元素尺寸和位置
一、尺寸clientWidth /clientHeight 包含元素内容 + padding + border clientWidth 270 , clientHeight 100scrollWidth /scrollHeight 包含元素内容 + padding, scrollWidth 270 , scrollHeight 100 . 如果内容溢出该元素,并且存在滚动条,值为 真实内容高度(含溢出高度) +...
2021-05-26 11:23:45 93
原创 生成uuid
// 生成uuidexport function getUUID() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16) })}
2021-05-19 11:04:53 167
原创 vue 路由传参的3种方式
1. 路由配置// 页面路由格式 /detail/1// 页面刷新后路由参数依然在。// 路由定义{ name:'Detail', path:'/detail/:id', component:Detail}// 页面跳转this.$router.push({ path:'/detail/1',})// 或者同方式2this.$router.push({ name:'Detail', params:{id:1}})// Deta
2021-05-17 17:32:14 198
原创 vue slot插槽
1. 匿名插槽<!-- parent --><Children> <h4>标题内容</h4><!-- 匿名插槽默认用default做参数,v-slot仅能用于template标签 <template v-slot:default> <h4>标题内容</h4> </template> --></Children><!-- chil
2021-05-08 15:26:38 119
原创 vue 组件通信
1. 父子组件通信1.1 父传子值props// parent<Children msg="success" />// childrenprops: { msg: String}1.2 子传父值,父改子值$refs// parent<Children ref="cld" />mounted(){ console.log(this.$refs.cld.content) this.$refs.cld.content='我是父
2021-05-07 11:14:43 82
原创 excel 从身份证号中提取性别,年龄
身份证号提取性别=IF(MOD(MID(F1576,17,1),2),"男","女")身份证号提取年龄=YEAR(TODAY())-MID(F1576,7,4)
2021-04-30 14:29:18 6779
原创 mac 常用快捷键
显示/隐藏系统文件 shfit + command + . 聚焦搜索 command + 空格键 截屏 shfit + command + 4 录屏 shfit + command + 5 重做操作(撤销后恢复)shfit + command + Z...
2021-04-19 09:09:33 316
原创 常用的正则验证
// 邮箱const isEmail = (value) => { return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)}// 手机号码const isMobile = (value) => { return /^1[0-9]{10}$/.test(value)}// 电话号码const isPhone = (value) => { return .
2021-04-16 09:51:22 113
原创 react+antpro 打包后生成大体积文件之优化
概述使用antpro 框架做了一个react 项目,打包后umi.js文件体积差不多有1.4M。后来使用gzip压缩方式,将其压缩到421kb,大大缩短加载时间。查看项目文件大小可以通过两种方式,查看具体产生了哪些大文件。1. 使用开发者工具的Network,可以查看浏览器加载了哪些文件及用时。2. 使用npm 自带的分析工具,运行命令后后自动弹出分析结果网页。npm run analyzeStat -- 转换前的体积Parsed -- 最终打包体积Gzippe
2021-04-09 17:59:58 1877
原创 antd的ProTable 组件如何给搜索框手动赋值
1.实现如图效果。当路由中包含classesId参数时,表格默认查询该分类下的数据,使用的ProTable组件。配置列项时,在所属分类项中添加initialValue,并复制当前路由classesId参数。import { history } from 'umi';const classesId = history.location?.query?.classesId;const columns = [ ..., { title: '所属分类', d
2021-04-08 11:25:45 2015 4
原创 react 传递参数给子路由
import React, { useState } from 'react';const Home = props =>{ const [state, handleState] = useState(null) const changeState = (value) => { handleState(value) } // 通过React.cloneElement,将数据或方法以对象形式传递 React.Children.ma.
2021-04-07 11:18:18 510 2
原创 Less的遍历循环写法
1.html<ul> <li>第一条数据</li> <li>第二条数据</li> <li>第三条数据</li> <li>第四条数据</li> </ul> 2.less// 定义颜色数组@colorArr: #37a2da, #32c5e9, #67e0e3, #9fe6b8;// 定义循环最大值,此处使用颜色数组的长度@len: len
2020-11-19 10:54:43 7977
原创 取消react+dva创建项目路由中的#
修改项目文件夹中index.js文件 src--index.jsimport createHistory from 'history/createBrowserHistory';const app = dva( { history: createHistory()});文件全部内容
2020-08-06 10:26:40 207
转载 vue 引入本地音频文件
在需要引入音频的vue文件中使用 require 的方式引入,指定使用 file-loade示例如下const sounds = require("file-loader!../assets/sounds/sounds.mp3");
2020-04-03 12:26:42 5118
原创 解决上传图片自动旋转的问题以及对图片进行压缩上传
1. 关于图片自动旋转原因在使用PS或者其他软件旋转图片时,图片旋转了,但Orientation不会改变,由于我们使用的图片预览器能够预处理图片,使其看起来与旋转后一致,但上传图片时,浏览器并不会预处理。所以导致图片旋转。EXIF中,包含一个Orientation参数,用来记录拍摄照片时的方向,其中1是正常。2. 解决旋转问题,需引入exif.js文件 下载链接http:/...
2019-11-07 19:43:49 31333
原创 mui 下拉刷新的页面,第一次不会自动刷新获取数值的问题
修改mui初始化,将上面代码替换为下面代码//mui初始化mui.init({ pullRefresh: { container: '#pullrefresh', down: { auto: true, style:'circle', contentdown: '', callback: scope.pulldownRefresh }, up: {...
2019-10-19 14:20:11 280
原创 命令行工具基础命令
打开命令窗口 Windows+R,输入cmd,回车 在当前文件夹下打开工具 shift+鼠标右键,选择在此处打开命令窗口 回到当前路径的上一级 cd.. 来到当前路径的下级文件夹 cd demo\js\main.js 去其它磁盘 G: (磁盘字母加冒号) 列出当前文件夹下的目录 dir 创建新文件 ...
2019-07-10 09:49:42 200
原创 vue webstorm 活动模板快速初始化
新建vue文件的结构几乎都一样,但每次都要复制粘贴也很麻烦,可以使用活动模板设置一下,快速初始化。打开文件 ---> 设置 ---> 编辑器 ---> 活动模板 ---> 点击右侧加号 ---> 1.Live Template缩写处写上新建模板的快捷符号,描述随便写,模板文本处编辑好vue的模板内容,然后点击下方蓝色文字“defined”(因为我已经设置...
2019-04-23 15:43:05 600
原创 vue 安装使用font-awesome字体
1.npm安装font-awesomecnpm i font-awesome --save-dev2.main.js引入font-awesomeimport 'font-awesome/css/font-awesome.css'3.index.html引入css标签<link href="https://cdn.bootcss.com/font-awesome/5....
2019-04-21 10:36:31 1276 1
原创 清除IE浏览器中input元素的删除和查看密码图标,清理谷歌自动填充颜色
IE浏览器中,type=“text”的input元素中有输入时会出现清除图标,type=“password”的input元素中有输入时会出现眼睛图标。添加下面的样式可以去除默认图标:::-ms-clear, ::-ms-reveal{ display: none;}...
2019-03-06 16:07:47 632
原创 placeholder样式修改,多浏览器兼容
1、Chrome、Safari 、Opera浏览器input::-webkit-input-placeholder{color:#fff;}2、火狐浏览器input::-moz-placeholder{color:#fff;}3、IE浏览器input:-ms-input-placeholder{color:#fff;}...
2019-03-06 16:06:26 6011
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人