- mozilla文档 ⭐️⭐️⭐️⭐️⭐️
- JavaScript深入系列 ⭐️⭐️⭐️⭐️
- JavaScript开发者应懂的33个概念
- 30-seconds-of-code
- JS 函数式编程指南中文版
- 深入理解javascript原型和闭包
- 必学技能-断点调试 ⭐️⭐️⭐️⭐️
熟悉打包流程。会写loader、plugin
- webpack中文 ⭐️⭐️⭐️⭐️⭐️
- babel官网 ⭐️⭐️⭐️⭐️⭐️
- 知乎babel ⭐️⭐️⭐️⭐️⭐️
- Babel 手册
- Babel 内部原理分析
- AST 抽象语法树
- 细说 webpack 之流程篇
- contributors-guide
- astexplorer
- 玩转webpack(一)上篇:webpack的基本架构和构建流程
- Webpack 源码解析
- babael插件编写
- 一些好的loader
- 撸一个webpack插件
- 平庸前端码农之蜕变 — AST
- 透過製作 Babel-plugin 初訪 AST
- puppeteer
- google介绍视频 ⭐️⭐️⭐️⭐️⭐️
- an answer to server-side rendering JS sites
- 爬取《es6标准入门》
- 使用Puppeteer完成一次复杂的爬虫
- puppeteer-examples
- 开始使用GitLab CI/CD
- Chrome 远程调试协议不完全指南
- Puppeteer:模拟浏览器操作行为的利器
- puppeteer-examples
- awesome-puppeteer
- 网站性能测试利器:Puppeteer
必学内容:stream
- 美团网页首帧优化实践
- 实现移动端浏览器控制台
- 打造你的专属 Chrome 插件
- 高效的 GraphQL + Antd
- React Conf 2018 ⭐️⭐️⭐️⭐️⭐️
- functional programming in JavaScript 视频
- 前端的构建时优化 视频
- 技术胖 视频
- 程序员必学电脑计算机专业英语词汇1700词 ⭐️⭐️⭐️⭐️⭐️
console.log('main1');
setTimeout(function() {
console.log('setTimeout');
process.nextTick(function() {
console.log('process.nextTick2');
});
}, 0);
new Promise(function(resolve, reject) {
console.log('promise');
resolve();
}).then(function() {
console.log('promise then');
});
process.nextTick(function() {
console.log('process.nextTick1');
});
console.log('main2');