Submit Search
Upload
使用 ES 6/7 特性开发 Node 项目
•
2 likes
•
956 views
Welefen Lee
Follow
1)Node.js 异步问题 2)Node.js 自动更新问题 3)ThinkJS 介绍
Read less
Read more
Technology
Report
Share
Report
Share
1 of 54
Download now
Download to read offline
Recommended
關於 Javascript 非同步的那些事兒 公開版
關於 Javascript 非同步的那些事兒 公開版
Kirk Chen
Angularjs
Angularjs
宗哲 謝
Ruby 的快与慢
Ruby 的快与慢
vincent253
前端编译平台
前端编译平台
Welefen Lee
React js入門教學
React js入門教學
TaiShunHuang
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Will Huang
Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)
Will Huang
百度前端性能监控与优化实践
百度前端性能监控与优化实践
Welefen Lee
Recommended
關於 Javascript 非同步的那些事兒 公開版
關於 Javascript 非同步的那些事兒 公開版
Kirk Chen
Angularjs
Angularjs
宗哲 謝
Ruby 的快与慢
Ruby 的快与慢
vincent253
前端编译平台
前端编译平台
Welefen Lee
React js入門教學
React js入門教學
TaiShunHuang
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Will Huang
Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)
Will Huang
百度前端性能监控与优化实践
百度前端性能监控与优化实践
Welefen Lee
Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016
Kirk Chen
DDD系統分析
DDD系統分析
國昭 張
Ioc & in direction
Ioc & in direction
育汶 郭
React js
React js
國昭 張
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
Will Huang
Asp.net core v1.0
Asp.net core v1.0
chang kuo-chao
Angular 2 Taiwan 小聚 Forms 介紹
Angular 2 Taiwan 小聚 Forms 介紹
Jeff Wu
PyCon China 2012 孙毅
PyCon China 2012 孙毅
Yi Sun
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
Chieh (Jack) Yu
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行
Jimmy Ho
Angular js twmvc#17
Angular js twmvc#17
twMVC
AngularJS training in Luster
AngularJS training in Luster
Jason Chung
Vue
Vue
國昭 張
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
美团点评技术团队
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术团队
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
W3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in React
美团点评技术团队
Coffee script
Coffee script
昇倫 蔡
Frontend Devops at Cloudinsight
Frontend Devops at Cloudinsight
Yan Wang
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
Jeff Chu
介紹前端 Web 技術在跨平台開發上的應用
介紹前端 Web 技術在跨平台開發上的應用
Jerry Lin
课题二:Node.js那些事儿
课题二:Node.js那些事儿
Liu Allen
More Related Content
What's hot
Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016
Kirk Chen
DDD系統分析
DDD系統分析
國昭 張
Ioc & in direction
Ioc & in direction
育汶 郭
React js
React js
國昭 張
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
Will Huang
Asp.net core v1.0
Asp.net core v1.0
chang kuo-chao
Angular 2 Taiwan 小聚 Forms 介紹
Angular 2 Taiwan 小聚 Forms 介紹
Jeff Wu
PyCon China 2012 孙毅
PyCon China 2012 孙毅
Yi Sun
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
Chieh (Jack) Yu
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行
Jimmy Ho
Angular js twmvc#17
Angular js twmvc#17
twMVC
AngularJS training in Luster
AngularJS training in Luster
Jason Chung
Vue
Vue
國昭 張
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
美团点评技术团队
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术团队
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
W3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in React
美团点评技术团队
Coffee script
Coffee script
昇倫 蔡
Frontend Devops at Cloudinsight
Frontend Devops at Cloudinsight
Yan Wang
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
Jeff Chu
What's hot
(20)
Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016
DDD系統分析
DDD系統分析
Ioc & in direction
Ioc & in direction
React js
React js
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
Asp.net core v1.0
Asp.net core v1.0
Angular 2 Taiwan 小聚 Forms 介紹
Angular 2 Taiwan 小聚 Forms 介紹
PyCon China 2012 孙毅
PyCon China 2012 孙毅
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行
Angular js twmvc#17
Angular js twmvc#17
AngularJS training in Luster
AngularJS training in Luster
Vue
Vue
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
W3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in React
Coffee script
Coffee script
Frontend Devops at Cloudinsight
Frontend Devops at Cloudinsight
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
Similar to 使用 ES 6/7 特性开发 Node 项目
介紹前端 Web 技術在跨平台開發上的應用
介紹前端 Web 技術在跨平台開發上的應用
Jerry Lin
课题二:Node.js那些事儿
课题二:Node.js那些事儿
Liu Allen
Idea13
Idea13
koji lin
Nodejs & NAE
Nodejs & NAE
q3boy
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
Jackson Tian
July.2011.w3ctech
July.2011.w3ctech
Kai Cui
李成银:前端编译平台
李成银:前端编译平台
taobao.com
Chasingice
Chasingice
冰 白
Full stack-development with node js
Full stack-development with node js
Xuefeng Zhang
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New
翀 刘
D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践
Jackson Tian
Redux+react js
Redux+react js
國昭 張
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
Justin Lin
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Angel Boy
Jasmine
Jasmine
tb-vertical-guide
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack
昱安 周
移动端跨平台技术原理
移动端跨平台技术原理
gorillazf
Comment System of 56.com
Comment System of 56.com
Ho Kim
Similar to 使用 ES 6/7 特性开发 Node 项目
(20)
介紹前端 Web 技術在跨平台開發上的應用
介紹前端 Web 技術在跨平台開發上的應用
课题二:Node.js那些事儿
课题二:Node.js那些事儿
Idea13
Idea13
Nodejs & NAE
Nodejs & NAE
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
July.2011.w3ctech
July.2011.w3ctech
李成银:前端编译平台
李成银:前端编译平台
Chasingice
Chasingice
Full stack-development with node js
Full stack-development with node js
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New
D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践
Redux+react js
Redux+react js
合久必分,分久必合
合久必分,分久必合
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Jasmine
Jasmine
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack
移动端跨平台技术原理
移动端跨平台技术原理
Comment System of 56.com
Comment System of 56.com
使用 ES 6/7 特性开发 Node 项目
1.
使⽤用 ES6/7 特性 开发
Node 项⺫⽬目 2015/11/21 李成银
2.
关于我 • 李成银@奇舞团 • 7
年⼯工作经验 • ThinkJS 作者 • 擅⻓长⼯工程化解决⽅方案 • https://github.com/welefen
3.
⼤大纲 • 异步回调问题 • ⾃自动更新问题 •
ThinkJS 介绍
4.
缩写 • ES6:ECMAScript 6, ECMAScript
2015 • ES7:ECMAScript 7 • 编译:转译 • Node: Node.js node.js
5.
Node 特点 • ⾼高并发 •
事件驱动 • IO 密集型
6.
异步问题
7.
异步处理⽅方式 • callback • Promise •
ES6 generators • ES7 async functions
8.
Callback
9.
callback
10.
callback
11.
Promise
12.
Promise
13.
Promise
14.
Callback => Promise
15.
Promise 的问题 • this
指向问题没有解决 • 局部变量需要借助外层的临 时变量才能跳跃向后传递 • ⽆无法直接跳过中间某些环节 • 隐藏错误
16.
Generators
17.
Generators • 使⽤用 function
* 和 yield • 是迭代器的⼀一个⼦子类型
18.
Generators
19.
Generators 的问题 • 语义上不易理解 •
需要借助执⾏行器 • ⽆无法和 Arrows ⼀一起使⽤用 • yield 和 yield * • function * 和 * method
20.
Async functions
21.
Async functions
22.
Async functions • 基于
Promise • 返回 Promise • 使⽤用 async/await 更加语义性 • ⽀支持和 Arrows ⼀一起使⽤用 • 不⽤用借助第三⽅方模块
23.
Async functions 错误捕获 try/catch
捕获错误
24.
Async functions 错误捕获 特定值判断是否有错误
25.
Async functions 并⾏行处理
26.
Async functions 问题 •
Stage: Proposal • ⺫⽬目前还没有⽀支持的 Runtime
27.
28.
https://github.com/facebook/regenerator
29.
编译带来的问题 • ⽂文件修改后如何⾃自动编译 • 如何精准定位报错信息 --watch --retain-lines •
如何断点调试 只能断点调试编译后的代码
30.
使⽤用更多的特性 • class • Arrows •
Enhanced Object Literals • Template Strings • Default + Rest + Spread • … ⽆无需担⼼心当前的 Node 环境是否⽀支持
31.
性能如何?
32.
class
33.
generators
34.
⾃自动更新问题
35.
fs.watch? chokidar nodemon
36.
⽆无法保存临时数据
37.
更好的解决⽅方案 • 监听⽂文件修改变化 • 热更新修改的⽂文件 •
以及依赖⽂文件
38.
require.cache
39.
cache 格式
40.
重写 require ⽅方法 lib/module.js
41.
清除缓存
42.
2014/09/22 发布 1.0
版本 2015/10/30 发布 2.0 版本
43.
https://thinkjs.org
44.
Async functions
45.
Generators
46.
Promise
47.
特性 • ⾃自动编译、⾃自动更新 • 3
种项⺫⽬目模式:mini、normal、 module • 3 种项⺫⽬目环境:development、 testing、production • 3 种运⾏行环境:ES5、ES6/7- >ES5、ES6
48.
更多特性 •⽀支持 Mysql,MongoDB,Redis 数据库 •
⽀支持 socket.io,SockJS 等 WebSocket库 • ⽀支持命令⾏行执⾏行和定时任务 • ⽀支持国际化和多主题 • ⽀支持 Middleware 和 Adapter • ⽀支持 __before,__after,__call • ⽀支持⾃自动创建 REST API • …
49.
稳定性和性能 • 1500+ 测试⽤用例,95% •
完善的⽂文档,中⽂文/英⽂文,PDF • 2000+ commits
50.
• https://www.thinkjs.org • https://github.com/75team/thinkjs •
QQ 交流群:339337680
51.
¥5000/年 奖励社区贡献者
52.
4 + 2
53.
ThinkJS 微信红包群
54.
谢谢⼤大家
Download now