Q:这些目标是你最想做的吗?还有更想做的吗?
A:是,但是工作方面的事情不太想做
Q:为什么不想做工作方面的事情?
A:对个人来说没有任何提升
Q:你觉得什么样的工作对你来说是有提升的呢?
A:举例说明,我了解过大公司,基建部门(基础工具建设),我想做那样的事情
Q:大公司的基建部门都会做哪些事呢?
A:比方说前端,首先是开发工具,脚手架的搭建,工具链的开发,技术更新
Q:如果要让你在工作中去搭建一个脚手架你会怎么做?
A:先分析具体业务实现场景,从脚手架里头选择成本符合的选型,对应工具链的调研,对应工具链的选择和使用
Q:你现在了解的信息,可以搭建一个脚手架吗?
A:可以
Q:预估一下大概要多少时间?
A:1周左右
Q:如果让这个脚手架符合预期,你要满足哪些标准,可以在3个月内完成的?
A:满足业务需求的扩展,底层原理和开发解耦
Q:如果要满足业务需求的扩展,可以怎么量化他?
A:脚手架对应的生态圈的完整性,脚手架可支持自定义插件使用
Q:脚手架对应的生态圈的完整性,需要具备哪些条件
A:社区活跃度,官方文档的完整
Q:从0~1,用JS搭建一个类似于react的框架,或者直接基于react、vue等框架做扩展,你选哪种?为什么?
A:选择基于框架做扩展,效率更高
Q:自动编译:Webpack、Parcel选一个选谁?
A:选择Webpack,Parcel封装了太多了不可控
Q:自定义插件使用用什么结果来呈现?
A:假如说样式的预编译如果想使用Sass、Less需要用到预编译;如果要让多浏览器样式适配也需要选择插件;如果想要实现热加载功能也需要插件;如果想对最后的Js包进行压缩也需要;静态文件的生成;对一些特殊文件的加载如Json、md文档;支持对Js最新语法ES6、ES7的使用;代码规范
Q:怎么样算掌握Webpack的Loader的开发呢?
A:自己能写出一个Loader,看官方文档,梳理自己写loader的目的,总结需要满足的要点,进行编写开发
Q:以你现在的基础储备能协助自己的目的吗?
A:现在想写出加载Md文档的loader
Q:加载Md文档的loader,总结需要满足的要点?
A:想自己写一个MdLoader
框架脚手架标准:
必须:
1、自动编译:Webpack
2、支持对Js最新语法ES6、ES7的使用:babel
3、样式的预编译:Less Loader
4、静态文件的生成:CommonSchunkPlugin
5、热加载功能:HotModeoleReplacementPlugin
非必须
1、多浏览器样式适配:PostCssLoader
2、Js包进行压缩:CompressWebpackPlugin
3、特殊文件的加载:JsonLoader、MdLoader
4、代码规范:ESlintLoader
针对不同脚手架的适配,react、vue、A ngular
Objective:让自己具备制作脚手架的能力,将脚手架上传到GitHub,还要配上文档
KR1:基于react去做一套脚手架,符合所有标准(必须+非必须)
KR2:将react脚手架复制到Angular
Q:“让自己具备制作脚手架的能力,将脚手架上传到GitHub,还要配上文档” 这个目标与原目标对比,有更想做的东西吗?
A:更想学习一些基础性的东西,如:掌握作用域和闭包 、掌握this和对象原型
Q:基础性技能除了作用域和闭包 、掌握this和对象原型还想做什么?
A:没有了,就是这个
Q:作用域和闭包 、掌握this可以一起做吗?为什么?
A:闭包就是作用域其中的特殊情况,作用域也是其中的一个东西
Q:什么是上下文
A:通过掌握原理可以已代码为例肉眼识别出上下文的范围
Q:什么是掌握this
A:通过掌握原理可以已代码为例肉眼识别出上下文的范围
Q:什么是闭包
A:是对作用域的特殊用法
Q:假设让你写6段代码来证明你掌握了作用域,你会怎么做?
A:第一段代码会去指明他的上下文,第二段代码会指明上下文和他的当前this对象,第三段代码指明上下文,this对象和使用闭包
Q:写这样的一段代码要多少时间呢?
A:2个小时先要了解基本原理,然后会去构思Demo,Codeing1小时,也就是说5小时可以搞定一段代码
Objective:掌握作用域的使用,针对上下文,this,闭包
KR1:至少写10段代码,每段都符合:第一段代码会去指明他的上下文,第二段代码会指明上下文和他的当前this对象,第三段代码指明上下文,this对象和使用闭包
Q:除了帮你重新制定的2个目标,还有更想做的吗?
A:继续学习Js的其他东西
Q:继续学习什么东西呢?
A:Js的面向对象
Q:学习Js的面向对象要具备哪些标准呢?
A:我知道怎么制定好的OKR啦,这东西留给我,我自己回去做~~