Soumettre la recherche
Mettre en ligne
Koa 正在等一個人
•
23 j'aime
•
6,036 vues
Fred Chien
Suivre
初入下一代網站框架 Koa!快速上手不用等!
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 50
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Ben Lue
Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
GO LL
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
wantingj
用最潮的 Java script 盡情開發 kde qt 程式
用最潮的 Java script 盡情開發 kde qt 程式
Fred Chien
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式
Will Huang
Non-MVC Web Framework
Non-MVC Web Framework
Fred Chien
Node.js 淺談socket.io
Node.js 淺談socket.io
Simon Su
Recommandé
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Ben Lue
Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
GO LL
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
wantingj
用最潮的 Java script 盡情開發 kde qt 程式
用最潮的 Java script 盡情開發 kde qt 程式
Fred Chien
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式
Will Huang
Non-MVC Web Framework
Non-MVC Web Framework
Fred Chien
Node.js 淺談socket.io
Node.js 淺談socket.io
Simon Su
CP 值很高的 Gulp
CP 值很高的 Gulp
Yvonne Yu
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!
Fred Chien
不一樣的Web server... coServ
不一樣的Web server... coServ
Ben Lue
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
Joseph Chiang
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程
洧杰 廖
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Chu-Siang Lai
Nodejs introduce - using Socket.io
Nodejs introduce - using Socket.io
Caesar Chi
Node js实践
Node js实践
jay li
webpack 入門
webpack 入門
Anna Su
Node.js长连接开发实践
Node.js长连接开发实践
longhao
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Chu-Siang Lai
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
Chu-Siang Lai
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
Will Huang
使用Javascript及HTML5打造協同運作系統
使用Javascript及HTML5打造協同運作系統
Hsu Ping Feng
從軟體開發角度 談 Docker 的應用
從軟體開發角度 談 Docker 的應用
謝 宗穎
React.js what do you really mean?
React.js what do you really mean?
昱安 周
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
Chu-Siang Lai
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
Eric Xiao
Berserk js
Berserk js
taobao.com
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
zhangsuoyong
Contenu connexe
Tendances
CP 值很高的 Gulp
CP 值很高的 Gulp
Yvonne Yu
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!
Fred Chien
不一樣的Web server... coServ
不一樣的Web server... coServ
Ben Lue
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
Joseph Chiang
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程
洧杰 廖
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Chu-Siang Lai
Nodejs introduce - using Socket.io
Nodejs introduce - using Socket.io
Caesar Chi
Node js实践
Node js实践
jay li
webpack 入門
webpack 入門
Anna Su
Node.js长连接开发实践
Node.js长连接开发实践
longhao
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Chu-Siang Lai
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
Chu-Siang Lai
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
Will Huang
使用Javascript及HTML5打造協同運作系統
使用Javascript及HTML5打造協同運作系統
Hsu Ping Feng
從軟體開發角度 談 Docker 的應用
從軟體開發角度 談 Docker 的應用
謝 宗穎
React.js what do you really mean?
React.js what do you really mean?
昱安 周
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
Chu-Siang Lai
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
Eric Xiao
Tendances
(20)
CP 值很高的 Gulp
CP 值很高的 Gulp
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!
不一樣的Web server... coServ
不一樣的Web server... coServ
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Nodejs introduce - using Socket.io
Nodejs introduce - using Socket.io
Node js实践
Node js实践
webpack 入門
webpack 入門
Node.js长连接开发实践
Node.js长连接开发实践
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
使用Javascript及HTML5打造協同運作系統
使用Javascript及HTML5打造協同運作系統
從軟體開發角度 談 Docker 的應用
從軟體開發角度 談 Docker 的應用
React.js what do you really mean?
React.js what do you really mean?
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
Similaire à Koa 正在等一個人
Berserk js
Berserk js
taobao.com
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
zhangsuoyong
钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会
Zhi Zhong
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
Shengyou Fan
Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
从问题开始,谈前端架构
从问题开始,谈前端架构
裕波 周
Ajax Transportation Methods
Ajax Transportation Methods
yiditushe
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
Johnson Gau
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
javatwo2011
Browser vs. Node.js Jackson Tian Shanghai
Browser vs. Node.js Jackson Tian Shanghai
Jackson Tian
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
Shengyou Fan
以HTML5和COIMOTION打造跨平台App
以HTML5和COIMOTION打造跨平台App
Ben Lue
Asp.net mvc 培训
Asp.net mvc 培训
lotusprince
Javascript autoload
Javascript autoload
jay li
HTML+COIMOTION 開發跨平台 app
HTML+COIMOTION 開發跨平台 app
Ben Lue
Node.js开发体验
Node.js开发体验
QLeelulu
javascript的分层概念 --- 阿当
javascript的分层概念 --- 阿当
裕波 周
程式人雜誌 -- 2015 年5月號
程式人雜誌 -- 2015 年5月號
鍾誠 陳鍾誠
程式人雜誌 2015年五月
程式人雜誌 2015年五月
鍾誠 陳鍾誠
Similaire à Koa 正在等一個人
(20)
Berserk js
Berserk js
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
Lucene 全文检索实践
Lucene 全文检索实践
从问题开始,谈前端架构
从问题开始,谈前端架构
Ajax Transportation Methods
Ajax Transportation Methods
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
Browser vs. Node.js Jackson Tian Shanghai
Browser vs. Node.js Jackson Tian Shanghai
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
以HTML5和COIMOTION打造跨平台App
以HTML5和COIMOTION打造跨平台App
Asp.net mvc 培训
Asp.net mvc 培训
Javascript autoload
Javascript autoload
HTML+COIMOTION 開發跨平台 app
HTML+COIMOTION 開發跨平台 app
Node.js开发体验
Node.js开发体验
javascript的分层概念 --- 阿当
javascript的分层概念 --- 阿当
程式人雜誌 -- 2015 年5月號
程式人雜誌 -- 2015 年5月號
程式人雜誌 2015年五月
程式人雜誌 2015年五月
Plus de Fred Chien
MakerBoard: MT7688 Emulator
MakerBoard: MT7688 Emulator
Fred Chien
Brig:Node.js + QML 華麗大冒險
Brig:Node.js + QML 華麗大冒險
Fred Chien
超酷炫科幻 UI:QML 入門
超酷炫科幻 UI:QML 入門
Fred Chien
OwaNEXT
OwaNEXT
Fred Chien
QML + Node.js
QML + Node.js
Fred Chien
Stem OS Proposal
Stem OS Proposal
Fred Chien
Stem is JavaScript OS
Stem is JavaScript OS
Fred Chien
我編譯故我在:誰說 Node.js 程式不能編成 binary
我編譯故我在:誰說 Node.js 程式不能編成 binary
Fred Chien
App house
App house
Fred Chien
Enjoy Writing Modern Desktop Application in JavaScript
Enjoy Writing Modern Desktop Application in JavaScript
Fred Chien
軟體人甘苦談
軟體人甘苦談
Fred Chien
Let s Enjoy Node.js
Let s Enjoy Node.js
Fred Chien
How to Write Node.js Module
How to Write Node.js Module
Fred Chien
Plus de Fred Chien
(13)
MakerBoard: MT7688 Emulator
MakerBoard: MT7688 Emulator
Brig:Node.js + QML 華麗大冒險
Brig:Node.js + QML 華麗大冒險
超酷炫科幻 UI:QML 入門
超酷炫科幻 UI:QML 入門
OwaNEXT
OwaNEXT
QML + Node.js
QML + Node.js
Stem OS Proposal
Stem OS Proposal
Stem is JavaScript OS
Stem is JavaScript OS
我編譯故我在:誰說 Node.js 程式不能編成 binary
我編譯故我在:誰說 Node.js 程式不能編成 binary
App house
App house
Enjoy Writing Modern Desktop Application in JavaScript
Enjoy Writing Modern Desktop Application in JavaScript
軟體人甘苦談
軟體人甘苦談
Let s Enjoy Node.js
Let s Enjoy Node.js
How to Write Node.js Module
How to Write Node.js Module
Koa 正在等一個人
1.
Koa 正在等一個人 Koa Is
Just Waiting For You Fred Chien
2.
Fred Chien 錢逢祥
3.
cfsghost At Github
4.
fred-zone blogspot.com
5.
Open Source Developer
6.
HanGee 蕃薯哥
7.
HanGee 蕃薯哥
8.
Koa? 苦啊?
9.
討論 Koa 之前
10.
最近什麼最潮 ?
11.
Node.js v.s. io.js 0.12
的搶先釋出大戰
12.
ECMAScript 6 Generator
13.
Node.js 0.11.9+ Generator
14.
使用 ES6 的方法 node
--harmony
15.
16.
初入 Generator How to
write a generator?
17.
Generator 的使用流程 1. 宣告
Generator 函數 2. 建立 Generator 物件 3. 執行 Generator 內部流程
18.
Generator 的使用方法 function* myGenerator()
{ console.log('My Generator!'); } var generator = myGenerator(); generator.next();
19.
設計流程 With Generator
20.
Generator 的基本流程設計 function* myGenerator()
{ console.log('My Generator!'); yield console.log('My Generator! Again!'); yield console.log('My Generator! Again! Again!'); }
21.
Generator 的回傳與代入值 function* myGenerator()
{ console.log( 'My Generator!' ); yield console.log( 'My Generator! Again!' ); var input = yield 123; console.log(input); } var generator = myGenerator(); generator.next(); var ret123 = generator.next(); console.log(ret123); generator.next( ':-D');
22.
Generator 的回傳與代入值 function* myGenerator()
{ console.log( 'My Generator!' ); yield console.log( 'My Generator! Again!' ); var input = yield 123; console.log(input); } var generator = myGenerator(); generator.next(); var ret123 = generator.next(); console.log(ret123); generator.next( ':-D');
23.
Generator 的回傳與代入值 function* myGenerator()
{ console.log( 'My Generator!' ); yield console.log( 'My Generator! Again!' ); var input = yield 123; console.log(input); } var generator = myGenerator(); generator.next(); var ret123 = generator.next(); console.log(ret123); generator.next( ':-D'); 想像這是 setImediate() setTimeout()
24.
長得 Sync 樣 卻有
Async 骨 Generator
25.
26.
Koa 起手式 npm install
koa
27.
First Example var koa
= require( 'koa'); // 建立一個網站伺服器 var app = koa(); // 當有瀏覽器要求頁面時,進行處理 app.use(function *() { // 回應文字內容給瀏覽器 this.body = 'My First Koa Web' ; }); // 監聽 3000 app.listen(3000);
28.
29.
Routing npm install koa-route
30.
Routing var koa =
require( 'koa'); var route = require( 'koa-route'); // 建立一個網站伺服器 var app = koa(); // 當有瀏覽器要求 /test 頁面時,進行處理 app.use(route.get( '/test', function *() { // 回應文字內容給瀏覽器 this.body = 'Testing Page!' ; })); // 監聽 3000 app.listen(3000);
31.
32.
Data Transfer Query String,
body, parameters
33.
Query String var koa
= require( 'koa'); var route = require( 'koa-route'); // 建立一個網站伺服器 var app = koa(); // 當有瀏覽器要求 /test 頁面時,進行處理 app.use(route.get( '/test', function *() { // 回應 Query String 的 hackathon 欄位內容給瀏覽器 this.body = this.query.hackathon; })); // 監聽 3000 app.listen(3000);
34.
Body Parser npm install
koa-bodyparser
35.
Body var koa =
require('koa'); var route = require('koa-route'); var bodyParser = require('koa-bodyparser'); // 建立一個網站伺服器 var app = koa(); app.use(bodyParser()); // 當有瀏覽器使用 POST 方法要求 /test 頁面時,進行處理 app.use(route.post('/test', function *() { // 回應 BODY 的 hackathon 欄位內容給瀏覽器 this.body = this.request.body.hackathon; })); // 監聽 3000 app.listen(3000);
36.
Parameters var koa =
require( 'koa'); var route = require( 'koa-route'); // 建立一個網站伺服器 var app = koa(); // 當有瀏覽器要求 /test 頁面時,進行處理 app.use(route.get( '/test/:hackathon' , function *(hackathon) { // 回應 hackathon parameter 內容給瀏覽器 this.body = hackathon; })); // 監聽 3000 app.listen(3000);
37.
38.
靜態頁面支援 npm install koa-static
39.
Static var koa =
require( 'koa'); var serve = require( 'koa-static'); // 建立一個網站伺服器 var app = koa(); app.use(serve( './public')); // 監聽 3000 app.listen(3000);
40.
41.
模板引擎 npm install co-views
42.
Template Engine var koa
= require( 'koa'); var views = require( 'co-views'); // 建立模板渲染器,指定模板目錄及格式(以 jade 為例) var render = views(__dirname + '/views', { ext: 'jade' }); // 建立一個網站伺服器 var app = koa(); // 找到 home.jade ,畫出並輸出頁面給瀏覽器 app.use(function *() { this.body = yield render( 'home', { message: 'Koa is great!' }); }); // 監聽 3000 app.listen(3000);
43.
Jade Template (home.jade) p
#{message}
44.
45.
Session npm install koa-session
46.
Session Mechanism Initializing var
koa = require( 'koa'); var session = require( 'koa-session'); // 建立一個網站伺服器 var app = koa(); // 自訂或以亂數設定一組加密金鑰 app.keys = [ 'asdfghjkl!@#$%ASDFGHJ' ]; // 初始化 Session app.use(session());
47.
Session Usage app.use(function *()
{ // 將 Session 中 count 屬性的數字累加 var n = this.session.count || 0; n++; this.session.count = n; // 將 Session 中 count 屬性內容回傳給客戶端 this.body = this.session.count; });
48.
49.
Questions?
50.
Thanks
Télécharger maintenant