Express
Fast, unopinionated, minimalist web framework for Node.js,這是 Express 的自我介紹。這裡的 unopinionated 之於 opinionated 較為信任開發者,所以你可以擁有很多作法去達到相同的目的,例如像 PERL/PHP。而 opinionated 的 software 則會只提供一個方法去達到目的,例如撰寫維基百科。沒寫過維基百科,但很顯然維基百科有他的格式存在,而格式都是維基百科的設計師所規定的。他不會讓你自由地的操作 HTML 把它當成你的部落格在寫,你只能照他的方式去更新內容。 安裝
npm install express
Express - Routing
之前 Routing 的實作是用原生 module: http、url 和自製的 dict 去實現,現在用 express 來達成。- server.js
import express from 'express' // 建立 express 這 module var app = express() const port = 8888 // This responds a GET request for the homepage app.get('/', (req, res) => { console.log("Got a GET request for the homepage"); res.send('Hello GET!\n') }) // This responds a POST request for the homepage app.post('/', function (req, res) { console.log("Got a POST request for the homepage"); res.send('Hello POST\n'); }) // This responds a GET request for the /list_user page. app.get('/list_user', function (req, res) { console.log("Got a GET request for /list_user"); res.send('Page Listing\n'); }) var server = app.listen(port, function () { var host = server.address().address var port = server.address().port console.log("Example app listening at http://%s:%s", host, port) })
- Testing ( curl筆記 )
$ curl -X GET http://localhost:8888/ Hello GET! $ curl -X POST http://localhost:8888/ Hello POST $ curl -X GET http://localhost:8888/list_user Page Listing
第一個參數,字串支援 Regular Expression
- server.js
// This responds a GET request for ab*cd, abxcd, ab123cd, and so on app.get('/ab*cd', function(req, res) { console.log("Got a GET request for /ab*cd"); res.send('Page Pattern Match\n'); }) // This responds a GET request for book1, book2 and book3 app.get('/book[123]', function(req, res) { console.log("Got a GET request for /ab*cd"); res.send('Page Pattern Match\n'); })
- Testing ( curl筆記 )
$ curl -X GET http://localhost:8888/ab123cd Page Pattern Match $ curl -X GET http://localhost:8888/ab123456cd Page Pattern Match $ curl -X GET http://localhost:8888/book1 Page Pattern Match $ curl -X GET http://localhost:8888/book2 Page Pattern Match $ curl -X GET http://localhost:8888/book3 Page Pattern Match $ curl -X GET http://localhost:8888/book4 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Error</title> </head> <body> <pre>Cannot GET /book4</pre> </body> </html>
上一篇 :
下一篇 :
參考資料 :
1. Express 官網
0 意見:
張貼留言