总结日常遇到的问题
Messagepack
数据格式与json类似,但是存储空间大大缩减
链接点击,Messagepack
【名词解析】
Wildcard
表示 通配符 *
vm2
虚拟机环境中编译执行JS代码,可以用来执行一些不信任的代码
链接点击,vm2
Nunjacks
JavaScript 专用模板引擎
链接点击,Nunjacks
正则表达式和有限状态机关系
正则表达式可以通过有限状态机(NFA)来表示
链接点击,有限状态机
npm version
npm version 不仅仅是显示版本号那么简单,还可以通过它 修改 major minor patch等npm版本等,了解npm版本规则
链接点击,npm version
无需JS文件创建worker
webworker需要引入额外的js文件,非常不方便,通过 URL.createObjectURL Blob对象 以及function.toString()来实现
链接点击,无需JS文件创建worker
babel-present-env
ES6转ES5,分两步,一步是语法转换,比如箭头函数转换为ES5的函数等,另外一步是添加相对应的polyfill来支持新的api,比如Proxy等,其中babel-preset-es2015已经不再使用了,现在使用babel-present-env来实现;其可以通过使用的新api,自动添加对应的polyfill,但是需要配置
链接点击,babel-present-env
eval vs new Function
动态执行js代码,eval与new Function比对,在执行作用域以及执行效率上来比对
链接点击,eval vs new Function
__esModule的作用
为什么打包工具都会对其做处理?是为了兼容commonjs规范与ESM规范的问题,具体就是为了解决commonejs 中require 无法获取到 ESM文件的问题
链接点击,__esModule的作用
编译器原理
编译
尾递归
尾递归
尾递归都可以用循环来优化
关于git学习
git
gitlab ci/cd相关文档
gitlab ci/cd 中 yaml语法 官网地址以及中文翻译,以及一些常用变量总结
gitlab yaml配置文件中 =~ 的含义,前面一般是变量,后面是正则表达式,表示变量是否符合正则表达式,eg:$VAR =~ /pattern/
JS常用插件机制整理
使用tapable、回调函数、eventEmitter等常用机制,以及对一些常用包进行分析
eventLoop相关
- mock eventloop
enhanced-resolve
- enhanced-resolve源码
- 原理解析
前端调试
- 1
- 2
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。