自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

eno的博客

学习或问题记录的笔记,如有错误,麻烦评论指正!

  • 博客(47)
  • 问答 (6)
  • 收藏
  • 关注

原创 使用 mediaDevices.getUserMedia 在浏览器录制视频

使用 mediaDevices.getUserMedia 函数实现视频录制下载的使用笔记详细解析和示例

2023-10-14 04:00:31 479

原创 JS 装饰器

JavaScript 装饰器是一种以符号开头的特殊语法,放在目标代码的前面用于包装或扩展代码功能。JavaScript 的装饰器语法目前仍处于提案阶段,现阶段使用的话需要通过 bable 等方式进行编译之后,才能在浏览器正常运行。装饰器分为两种:类装饰器,类成员装饰器,分别用于装饰我们的类以及类的成员。

2023-06-08 03:05:12 3878

原创 《重构》-- 1. 为什么开始读《重构》

重构是软件开发一个离不开的话题,我们经常会说重构,当软件设计遇到瓶颈无法支撑后续业务需要时,我们会重构。当代码阅读性差导致维护困难时,我们会重构。当我们接收别人代码是,经常会有一种代码混乱的感觉。我觉得很多时候觉得代码混乱是因为开发风格导致的,因为别人写的代码和你的代码风格不同,导致对你来说代码的可读性下降,从而导致接手代码后觉得代码需要重构。因为这种原因重构显然是不合理的,因为你重构完之后,别人接手时,也会产生同样的困扰,这就会产生很多不必要的重构工作。...

2022-06-22 22:25:43 145 1

原创 eslint 搭配 prettier 格式化 + husky 搭配 lint-staged 实现提交格式化和检测

eslint 搭配 prettier 格式化 + husky 搭配 lint-staged 实现提交格式化和检测注:本文基本是写给自己看的, 属于一个记录笔记, 避免每次配置都要查, 写得不清晰, 仅供参考, 如果看了有疑问也可以在评论指出首先默认项目已经有 eslint 检测,如果没有自行查找相关资料配置,这里重点值如何和 prettier 搭配工作安装 prettier 包需要依赖的包有: prettier , eslint-config-prettier, eslint-plugin-pret

2022-05-10 19:08:28 703

原创 自定义浏览器 console 输出 -- devtoolsFormatters

自定义浏览器 console 输出 – devtoolsFormatters当我们使用 console.log(…) 输出一些信息的时候, 浏览器会按照一定的格式输出这些信息到控制台。例如:我们可以看出浏览器对于不同的数据是做了不同的格式处理的,对于简单的字符串是直接输出 “xxx”,但是对于一些对象或数组类型,会先输出一个简单信息然后有一个展开的箭头可以查看详细的信息。例如上图的 friend 会在第一行先展示 Array(1) 代表这是数组并且长度为 1,点击 friend 左边的箭头又可以查

2022-05-02 21:09:16 1721

原创 shell 脚本-10函数

shell 脚本-函数函数定义带 function 标识的函数定义示例代码function fn1 () { echo "执行了 fn1 函数"}# 函数执行fn1执行结果执行了 fn1 函数不带 function 标识的函数定义示例代码fn2 () { echo "执行了 fn2 函数"}# 函数执行fn2执行结果执行了 fn2 函数函数的参数函数内使用 $n 或 ${n} 访问对应的参数, 数字代表参数的前后顺序, $1 代表第一个参数, $2

2022-04-27 18:00:37 416 1

原创 Date 的工具函数

Date 工具函数,用于简便获取一些日期或数量

2022-04-02 15:50:25 309

原创 记录 element-ui v-loading 指令 instance.close() 报错问题

记录 element-ui v-loading 指令 instance.close() 报错问题背景解决 sentry issues 时看到一个这样的报错TypeError: Cannot read properties of undefined (reading ‘close’)报错的代码来自 element-plus 的 v-loading 指令, 在值变为 false 执行 close 函数时, 示例 instance 为空导致的问题原因页面是列表页, 每个列表项有一个展开加载数据的

2022-03-31 22:00:09 1555

原创 shell 脚本-09循环

shell 脚本-循环shell 中的循环包括 for while until 三种forfor 循环的语法格式为 for var in item1 item2 ... itemN do command1 command2 ... commandN donestr_arr=('a' 'b' 'c' 'd')for item in ${str_arr[*]}do echo $itemdone输出结果:abcd还可以使用 for 循环输出字符串str="I am eno

2022-03-13 15:55:46 196

原创 HTML页面的全屏显示-Fullscreen API

使用 Fullscreen API 处理页面中的全屏问题

2022-03-13 11:31:34 7121 2

原创 shell 脚本-08分支控制

shell 脚本-分支控制(if)if…elseif else 的语法格式为if conditionthen command_for_then_1 command_for_then_2 ... command_for_then_nelse command_for_then_1 command_for_then_2 ... command_for_then_nfi以 if 开头, 如果条件成立则执行 then, 条件不成立, 则执

2022-03-05 18:16:51 197

原创 shell 脚本-07test命令

shell 脚本-test 命令test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真num1=1num2=2if test $num1 -eq $num2then echo "test $num1 -eq $num2: $num1 等于 $num2"else e

2022-02-24 14:25:21 260

原创 shell 脚本-06输出命令(echo 和 printf)

shell 脚本-echo命令用于字符串的输出基本输出使用 echo string 命令输入 string 内容, 内容中的转义字符, 使用变量等规则参考字符串规则echo "Hello World"echo "\"Hello World\""echo 'Hello World'echo 'Hello World\"'运行结果:Hello World“Hello World”Hello WorldHello World"使用转义使用参数 -e 可以使 echo 命令启用转义

2022-02-23 15:57:17 6686

原创 shell脚本-05运算符(文件测试运算符)

shell 脚本-运算符(文件测试运算符)部分简单的文件检测操作符说明-r检测文件是否可读, 可读返回 true-w检测文件是否可写, 可写返回 true-x检测文件是否可执行, 可执行返回 true-s检测文件是否为空, 为空返回 false-d检测文件是否为目录, 为目录返回 true-e检测文件是否存在, 存在返回 truedemofile="/xxx/xxx/test.sh"if [ -r $file ]then

2022-02-22 17:34:06 608

原创 sell 脚本-05运算符

sell 脚本-运算符算术运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2完整的表达式要被 `` 包含,注意这个字符不是常用的单引号。*加法echo "加法: `expr 1 + 2 + 3`"# 或给变量赋值sum=`expr 1 + 2 + 3`echo "sum 值为: $sum"减法echo "减法: `expr 1 - 2 - 3

2022-02-19 21:16:31 546

原创 shell 脚本-04参数

shell 脚本-参数我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……使用和传参params.sh 脚本:echo "Shell 传递参数实例!";echo "params1: $1"echo "params2: $2"echo "params4: $4"echo "params3: $3"运行 params.sh 脚本:./params.sh 参数1 参数2 参数3

2022-02-18 21:42:44 315

原创 shell 脚本-03数组

shell 脚本-数组bash支持一维数组(不支持多维数组),并且没有限定数组的大小定义数组在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:数组名=(值1 值2 … 值n)num_list=(1 2 3)读取数组使用 ${数组名[下标]} 获取对应位置的元素,也可以使用 ${数组名[@]} 或 ${数组名[*]} 获取数组所有元素使用num_list=(1 2 3)echo ${num_list[0]}echo ${num_list[@]}e

2022-02-16 17:56:56 126

原创 shell 脚本-02字符串

shell 脚本-字符串字符串可以用单引号,也可以用双引号,也可以不用引号my_name="eno"echo $my_namemy_name='zeng'echo $my_namemy_name=eno-zengecho $my_name单引号字符串str='this is a string'单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

2022-02-16 17:20:58 456

原创 shell脚本语言-01变量

第一个 shell 脚本#!/bin/bashecho "Hello World !"#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。运行 shell 脚本可执行程序chmod +x ./test.sh #使脚本具有执行权限./test.sh #执行脚本一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh作为解释器参数

2022-02-15 14:16:32 89

原创 TypeScript 学习笔记

TypeScript 学习笔记基本数据类型布尔值(boolean)const is: boolean = true;数值(number)const num: number = 1;字符串(string)const str: string = 'Hello World';数组(Array)const numList: number[] = [0, 1, 2, 3, 4]; // 数值型数组const strList: string[] = ['Hello', 'World']; //

2021-08-06 11:52:58 128

原创 vue-property-decorator 定义组件 name 记录

vue-property-decorator 组件名称定义记录一下使用 vue-property-decorator 是因为 component name 被坑的经历使用普通写法写 vue 组件的时候, 通常使用 name 字段声明组件名称export default { name: 'MyComponet'}而使用 vue-property-decorator 时, 通常会直接定义 class nameimport { Vue, Component } from 'vue-proper

2021-01-13 17:53:47 1365 3

原创 前端使用facebook login SDK

前端使用facebook login SDK因为项目中需要使用facebook账号的第三方登录, 所以看了一下facebook的开发文档一开始以为可以直接引入那个facebook JS SDK的js文件就可以结果引入之后报错, 因为那份js文件使用了with语句, 而ES5的严格模式是不支持的然后看了一下可以使用js动态引入第一步, 引入登录SDK(function(d, s, i...

2020-09-07 17:39:54 5754

原创 create-react-app+typescript alias 无效问题记录

解决了使用 create-react-app 脚手架创建的 ts 项目无法使用 alias 问题记录

2020-09-07 15:42:16 1972 3

原创 Worker

workerJavaScript 是一门基于单线程异步操作的语言, 这是为了避免多线程带来的复杂性.对于一些好事的网络请求, 在 JS 中一般都使用异步执行来避免阻塞.但是, JS 中也是可以开启其他线程的, 也就是 worker. 可以说这就是 JS 中的多线程.worker 虽然可以开启主线程以外的线程执行一些其他操作, 但是它和主线程还是有区别的. 应该理解为辅助线程与主线程的区别...

2020-01-21 17:28:34 709

原创 NPM命令 npm access

NPM shell 命令npm accessnpm package 访问权限管理设置公开访问和私密访问权限> npm access publish [<package>]> npm access restricted [<package>]添加或删除团队的某个权限> npm access grant <read-only|read-w...

2019-11-02 11:36:55 566

原创 JS 中的拦截器 Object.defineProperty

拦截器Object.defineProperty

2019-06-26 19:21:29 4674 3

原创 FileReader

JavaScript中FileReader用于读取Blob数据, 并输入成ArrayBuffer或DataURL

2019-06-09 22:37:22 364

原创 前端文件相关数据转化

前端关于几种常见的图片(文件)类型的相互转换, 像base46, fFile, Blob, Url等

2019-05-06 23:36:09 219

原创 URL

JavaScript中的URL对象

2019-05-05 23:05:34 362

原创 使用npm制作CMD命令(二)--命令参数的使用

CMD命令参数使用在使用npm制作CMD命令中已经介绍了基本的命令制作现在我们可以学习一下, 怎么使用参数, 例如我们使用vue命令的时候, 可以使用vue init, 也可以使用vue ui等去做不同的事情, 后面的init和ui就属于这个命令的参数的创建包首先还是新建一个包, 又关创建以及包的文件和格式, 请参考使用npm制作CMD命令目录package.jsonind...

2019-04-12 16:41:47 777

原创 使用npm制作CMD命令

使用npm制作一个CMD命令制作一个npm包, 让你可以在命令行执行你自己的命令, 然后自定义一些操作类似于各种vue-cli或其他各种脚手架, 通过执行vue命令, 去创建一个项目创建一个空包创建一个文件夹, 作为你的npm包的目录(以command-test为例)创建package.json文件打开command-test的命令行使用npm init创建package....

2019-04-03 11:43:32 1757

原创 verdaccio

Verdaccio–搭建NPM私有仓库全局安装Verdaccionpm i -g verdaccio启动 verdaccioverdaccio因为是全局安装,所以可以在任何目录下运行verdccio命令任意目录下进入命令行(CMD)运行命令verdaccio开启verdaccio服务, 启动后不要关闭修改配置文件config.yaml启动verdaccio时会有几行信息...

2019-03-11 10:11:36 1511 1

原创 JS实现复制功能

JS实现复制功能网页上经常会有复制文字到剪贴板的需求例如一些博客上的代码段上有复制按钮, 可以实现代码的复制对于我这种面向复制粘贴编程的人来说简直是福音基本思路借用document.execCommand函数, 这个函数可以实现很多功能, 我这里只介绍如何使用这个函数实现复制, 关于这个函数其他的东西, 可以参考MDN上的介绍使用这个函数的复制功能, 可以复制可编辑区域中光标选中...

2019-01-10 01:39:20 3873

原创 真机调试页面android+chrome

使用android手机调试网页前提准备安装了chrome的android手机电脑安装chrome手机与电脑连接手机上打开开发者模式, 不知道怎么打开的自行百度使用USB与电脑连接, 并打开USB适调电脑chrome开发工具页面地址栏输入 chrome://inspect进入页面后勾选 Discover USB devices手机上会出现提示是否允许适调, 点击确定...

2018-12-20 19:03:24 1100

原创 JS实现时间格式化

JS时间格式化函数根据传入的格式字符串, 把事件格式化成指定格式的时间字符串/** * 时间格式化函数, 按照指定格式化字符串格式化传入时间 * * @param {Date} time 需要格式化的时间 * @param {String} fmStr 定义时间的格式 * yyyy: 代表四位数年份 * yy: 代表两位数年份 * mm: 代表月份(小...

2018-12-12 11:56:34 9491

原创 面试题

面试题如何防止手机页面缩放&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;meta name=&amp;amp;amp;amp;amp;amp;amp;amp;quot;viewport&amp;amp;amp;amp;amp;amp;amp;amp;quot; content=&amp;amp;amp;amp;amp;amp;amp;amp;quot;maximum-scale=1.0,minimum-scale=1.0,user-sca

2018-11-20 19:41:27 1274

原创 doctype

HTML 中的doctypedoctype是什么?doctype就是文档类型的意思现在最常见的HTML文件的doctype就是 &amp;lt;!DOCTYPE html&amp;gt; 意思是这个文档的类型是 HTML5doctype 在哪里声明?对于一直使用IDE生成HTML模板的人来说这个东西可能比较陌生, 因为IDE会自动帮你生成HTML模板&amp;lt;!DOCTYPE&amp;gt; 声明必须是...

2018-11-01 17:06:04 226

原创 页面图片应用外部链接403解决方法

外部图片403错误

2018-10-25 17:32:04 2150 1

原创 一些有趣的代码段

有(想)趣(死)的代码数据类型及变量声明代码: 思考下面 console.log 语句打印内容var u = undefined;if(typeof u === 'object'){ var str = 'Hello World';}console.log(str);var n = null;if(typeof n === 'object'){ var str =...

2018-10-13 15:27:13 6405

原创 文件上传

使用 ajax 上传文件, 并使用nodeJs multer 接收储存文件

2018-10-10 23:02:26 159

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除