图片压缩上传 发表于 2020-03-10 | 分类于 优化 | 之前在做项目的时候经常遇到上传图片的问题,对于太大的图片,如果总时原图上传的话,速度很慢,同时也对服务器造成了较大压力。所以,若非要求原图上传,最好对图片进行一下压缩。 压缩图片我用的是第三方的工具库canvas-resize。其基本思路就是将原图片读取到内存,然后利用canvas画布重新画出来一个 ... 阅读全文 »
搜索框封装组件如何也实现v-model同步data中的数据? 发表于 2020-03-04 | 分类于 Vue | 面试的时候遇见过这个问题,在项目中也经常遇到。今天来做一下记录,搜索框封装组件如何也实现v-model同步data中的数据? 先来理解一下这个问题,首先看看普通的input搜索框的v-model的表现: 12345678910111213141516171819202122232425<t ... 阅读全文 »
九、ESLint中用glob模式指定要检测的文件 发表于 2020-03-03 | 分类于 ESLint | 先来看看官网文档。 匹配规则所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两 ... 阅读全文 »
八、ESLint的extends和plugins 发表于 2020-03-03 | 分类于 ESLint | extends属性介绍extends 属性值可以是: 指定配置的字符串(配置文件的路径、可共享配置的名称、eslint:recommended 或 eslint:all) 字符串数组:每个配置继承它前面的配置 ESLint递归地扩展配置,因此基本配置也可以具有 extends 属性。exte ... 阅读全文 »
七、理解ESLint中的globals 发表于 2020-03-02 | 分类于 ESLint | 关于eslint的配置文件中的env,先来看一下官方文档。 新建测试项目, 123$ mkdir lesson07$ cd lesson07$ yarn init -y&&yarn add -D eslint 同样的进行初始化,npx eslint --init。 新建一个文件/ ... 阅读全文 »
六、理解ESLint中的env 发表于 2020-03-02 | 分类于 ESLint | 关于eslint的配置文件中的env,先来看一下官方文档。 env中的browser和node新建测试项目, 123$ mkdir lesson03$ cd lesson03$ yarn init -y&&yarn add -D eslint 同样的进行初始化,npx eslin ... 阅读全文 »
五、文件中配置ESLint的方式 发表于 2020-03-02 | 分类于 ESLint | eslintrc文件的三种格式之前我们在学习eslint的时候,每次执行完命令npx eslint --init后都会在项目中生成一个eslint的配置文件,它可以是json格式,也可以是js格式,也可以是yml文件格式。 三种格式如下👇 (点击查看大图) 在package.json文件中 ... 阅读全文 »
四、ESLint的层叠配置 发表于 2020-03-02 | 分类于 ESLint | 所谓的层叠配置就是为不同文件夹(目录)配置不同的规则。官网文档 层叠配置当使用 .eslintrc.* 和 package.json文件的配置时,你可以利用层叠配置。例如,假如你有以下结构: 1234567your-project├── .eslintrc├── lib│ └── source. ... 阅读全文 »
三、理解ESLint的rules 发表于 2020-03-02 | 分类于 ESLint | 关于eslint的配置文件中的rules,先来看一下官方文档,这里面详尽的记录了所有的规则。这些规则是怎么起作用的?遇到报错信息应该如何解决? 建立测试项目老样子,先建立项目: 123$ mkdir lesson04$ cd lesson04$ yarn init -y&&yar ... 阅读全文 »
手写建议jQuery并考虑插件和扩展性 发表于 2020-03-02 | 分类于 面试题 | 手写一个简易版的jQuery,并考虑其插件和扩展性。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950class jQuery { constru ... 阅读全文 »