
笔记
文章平均质量分 73
柒月梦
不忘初心,方得始终。
有问题可以邮箱 15755881430@163.com
展开
-
偷个懒,简化Git提交脚本输入
在日常开发的时候,经常需要提交代码,之前一直是: git status git add . git commit -m ‘feat: xxx’ git push每次都要打这几句代码,终于烦透了!!!而且提交信息的feat、fix还有一堆的规范,老子记不住啊!!!要是能用一个命令+ 输入变更信息来搞定,不香吗?我习惯用Git 命令提交代码,如果是使用可视化界面操作的话,可能也差不多。所以今天花了一个下午捯饬了一下。基本上够用了。原创 2022-08-22 19:21:46 · 275 阅读 · 0 评论 -
前端全链路性能优化
一、静态资源优化1、图片的优化1.1 图片格式及应用场景jpeg是一种针对彩色照片而广泛使用的有损压缩图形格式。应用于存储和传输照片。不适合:线条图形和文字、图标图形,不支持透明度。适合:颜色丰富的照片、彩色图、通栏banner图;结构不规则的图形。压缩:npm i -g jpegtranjpegtran -copy none -optimize -outfile out.jpg i...原创 2021-09-29 11:40:49 · 3610 阅读 · 0 评论 -
前端处理后台返回的流数据
实际工作中,常常会遇到如预览PDF、下载Excel之类的需求。通常处理方式有:1、后端返回一个文件在服务器的URL,前端直接使用就行。2、后端返回流数据。如图前端如何处理?1、接口请求的时候一定要加responseType: 'blob',否则生产的文件会是空白(PDF)2、代码实现 const binaryData = [] binaryData.push(res)// res 后台返回的流数据 this.pdfUrl = window.URL.c原创 2020-10-28 17:44:31 · 6973 阅读 · 2 评论 -
系统学习大前端(12) --- Vue.js 源码分析
准备工作Vue源码获取项目地址fork一份到自己仓库vue3.0地址源码目录结构srccompiler 编译相关core Vue核心库platforms 平台相关代码server SSR服务端渲染sfc .vue文件编译为JS对象shard 公共的代码FlowJS的静态类型检查器官网参考-3、flow调试设置打包工具 Rollup安装依赖 npm i设置sourcemappackage.json文件中的dev脚本中原创 2020-08-31 17:37:27 · 426 阅读 · 0 评论 -
系统学习大前端(11)---vue-router实现、模拟vue、VDOM实现原理练习
文章内容输出来源:拉勾教育大前端高薪训练营一、简答题1、当我们点击按钮的时候动态给 data 增加的成员是否是响应式数据,如果不是的话,如果把新增成员设置成响应式数据,它的内部原理是什么。let vm = new Vue({ el: '#el' data: { o: 'object', dog: {} }, method: { clickHandler () { // 该 name 属性是否是响应式的 this.dog.name = 'Trump' } }})原创 2020-07-15 16:18:52 · 618 阅读 · 0 评论 -
系统学习大前端(10)---vue-router实现、模拟vue、VDOM实现原理
文章内容输出来源:拉勾教育大前端高薪训练营vue-router实现基本使用创建路由组件vue.use()注册vue-router注册router对象设置占位router-view创建链接 router-link动态路由/detail/:id[获取]$route.params.id[获取]props:true — 推荐()=> import() 按需引入嵌套路由children编程式导航$router.push()$router.repla原创 2020-07-15 16:10:48 · 301 阅读 · 0 评论 -
系统学习大前端(9)---模块化、webpack、rollup、规范化标准练习
文章内容输出来源:拉勾教育大前端高薪训练营一、简答题1、Webpack 的构建流程主要有哪些环节?如果可以请尽可能详尽的描述 Webpack 打包的整个过程。流程初始化项目配置文件webpack.config.js配置项目入口、输出路径、开发模式等配置不同资源处理的loader配置plugin执行打包命令通过webpack.config.js配置文件的entry入口配置开始查找项目依赖资源根据配置的loader解析不同的资源,输出打包后的资源。在webpack打包过程中不原创 2020-07-15 10:44:59 · 888 阅读 · 0 评论 -
系统学习大前端(8)---模块化、webpack、rollup、规范化标准
文章内容输出来源:拉勾教育大前端高薪训练营1. 模块化模块化演变过程step1 – 文件划分方式命名冲突污染全局作用域无法管理模块间的依赖关系step2 – 命名空间的方式将每个模块添加命名空间依然没有解决模块间的依赖关系step3 – IIFE(自执行函数)通过函数提供私有作用域step4 – commonjs规范(node)一个文件就是一个模块每个模块都有单独的作用域通过module.exports导出成员通过require函数载入模块以同步的原创 2020-07-15 10:32:49 · 471 阅读 · 0 评论 -
系统学习大前端(7)---工程化、自动化构建练习
文章内容输出来源:拉勾教育大前端高薪训练营简答题1、谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值。工程化就是通过一些方法去提升研发效率和研发质量的手段。提升效率脚手架自动化构建组件化模块化保证质量ESlint代码检测git commit提交规范单元测试2、你认为脚手架除了为我们创建项目结构,还有什么更深的意义?提升效率,可以快速搭建一个基础项目架构规范化 对技术选型、项目结构等做一些规范,以降低沟通成本编程题原创 2020-07-14 17:27:17 · 870 阅读 · 0 评论 -
系统学习大前端(6)---工程化、自动化构建
文章内容输出来源:拉勾教育大前端高薪训练营工程化概述前端面临的问题ES6+ 兼容问题Less、Sass等 不支持模块化、组件化不支持手动压缩手动上传代码多人开发,难以统一风格等待后端接口完成…工程化主要解决的问题传统语言或语法的弊端无法使用模块化、组件化重复的机械式工作代码风格统一、质量保证依赖后端服务接口支持整体依赖后端项目工程化的表现一切重复的工作都应该被自动化工程化不等于某个工具vue-clicreate-react-ap原创 2020-07-14 17:18:25 · 356 阅读 · 0 评论 -
系统学习大前端(5)---ES6+新特性、TS、JS性能优化练习
文章内容输出来源:拉勾教育大前端高薪训练营1、下列代码执行结果,并解释原因。var a = [];for (var index = 0; index < 10; index++) { a[index] = function(){ console.log(index); }}a[6]()输出10这里使用var声明的变量会提升至全局执行上下文中,当循序结束时,index的值为10.这个问题解决有两种方式:通过闭包var 改成 let2、下列代码执行结果原创 2020-07-14 16:39:01 · 557 阅读 · 0 评论 -
系统学习大前端(3)---函数式编程、异步编程练习
文章内容输出来源:拉勾教育大前端高薪训练营一、简答1、谈谈你是如何理解JS异步编程的,EventLoop、消息队列都是做什么的?什么是宏任务、什么是微任务?由于JS是单线程的,这样执行任务会发生线程阻塞。所有JS引入了异步编程,通过回调的方式来解决这种阻塞。对于像定时器这种异步任务以及IO任务、其它线程发送过来的任务,JS会将其放到消息队列中,通过EventLoop的机制从消息队列里面依次取出任务执行。消息队列里的任务就是宏任务,微任务是promise、mutationObserver、nextT原创 2020-07-14 15:38:14 · 578 阅读 · 0 评论 -
系统学习大前端(2)---手写promise
文章内容输出来源:拉勾教育大前端高薪训练营原创 2020-07-14 15:19:08 · 322 阅读 · 3 评论 -
系统学习大前端(4)---ES6+新特性、TS、JS性能优化
ES新特性1、let、const块级作用域变量提升最佳实践:不使用var ,默认使用const ,明确会改的使用let。2、解构数组const arr = [1,2,3]const [a,b] = arr;const [,,c] = arr;使用…方式解构const [a,...rest] = arr;默认值const [a,b,c,d = 12] = arr对象const obj = { name:'zs', age:18}const {na原创 2020-06-30 22:49:52 · 1863 阅读 · 0 评论 -
系统学习大前端(1)---函数式编程、异步编程
函数式编程学习函数式编程的目的函数式编程随react流行受到更多关注vue3 开始拥抱函数式编程函数式编程可以抛弃this打包过程中可以更好的利用tree shaking过滤无用代码方便测试、方便并行处理很多库可以帮助我们进行函数式开发 lodash underscore ramda函数式编程概念函数式编程(Function Programming,FP)是编程范式之一。常说的编程范式还有面向过程编程、面向对象编程。面向对象的编程:把现实世界中的事物抽象成程序世界中的类和对象原创 2020-06-30 22:47:16 · 530 阅读 · 2 评论 -
前端训练营第五周
1、结构化程序设计1.1 JS执行粒度JS Context => Realm宏任务微任务(promise)函数调用(Execution Context)语句/声明表达式直接量/变量/thisRealm 里面有一套完整的Js内置对象。在JS中,函数表达式和对象直接量都会创建对象。使用. 做隐式类型转换也会创建对象。这些对象也是有原型的。如果没有realm ,就不知道原型是什么。作业(选做):用G6 antv 可视化Realm中的所有对象重学前端:JavaScript对象:原创 2020-05-24 23:13:18 · 1902 阅读 · 0 评论 -
前端训练营第四周
结构化程序设计宏任务、微任务setTimeout、setInterval、任务队列 – 宏任务promise 、MutationObserver ---- 微任务逗号表达式永远返回最后面的。var x = (1,2,3);x ----> 3因为5.1 这周内容不多。主要内容就是微任务、宏任务。讲了蛮多的promise的例子。...原创 2020-05-24 23:06:09 · 673 阅读 · 0 评论 -
前端训练营第三周
表达式、类型转换1、Float转为bit1.1 64位浮点数默认隐藏了一个1.(十进制不可能以0开始,二进制只有0,1,不以0开头,必然是1,所以隐藏了一个1)。符号位 + 指数部分 + 小数部分1.2 正0和负0num/0 — Infinity(-Infinity)2、Express 表达式2.1 运算符优先级 优先级表达式生成树Member 属性访问a.ba[b]foostringsuper.b — 构造函数中super[‘b’]new.targetnew原创 2020-05-09 16:53:19 · 435 阅读 · 0 评论 -
前端训练营(2)
一、编程语言通识语言分类非形式语言中文英文阿拉伯文、蒙古文…形式语言(乔姆斯基谱系:是计算机科学中刻画形式文法表达能力的一个分类谱系,是由诺姆·乔姆斯基于 1956 年提出的)它包括四个层次:0型文法(无限制文法或短语结构文法)包括所有的文法。等号左边不止一个 ::= “c”1型文法(上下文相关文法)生成上下文相关语言。“a”“c”::=“a”“x”“c”...原创 2020-04-24 20:03:59 · 1390 阅读 · 1 评论 -
前端训练营(1)
从事前端开发三年多了,前端各方面知识都有所涉及。也正是因为想学的太多,所以就啥也没记住啥也没学好。这次训练营也是希望能够跟着winter大神好好打磨一下自己的知识体系,可以达到p6的水平。一 知识体系我之前也是比较在意自己知识体系的建立的,但是涉及的方面太多了训练营指导的知识体系删繁就简,重在基础。把精力放在前端js html css方面,并追本溯源达到真正的知其然后知其所以然。通过归纳总...原创 2020-04-15 21:13:33 · 5370 阅读 · 1 评论