《高级前端8.2~8.3》Node.js 开发环境,Express小例子
环境介绍
Nodejs环境
开发工具
Mac下的开发环境,都通过homebrew安装
web应用的基本组件和Express框架
web应用包含:
Express中文网:http://www.expressjs.com.cn/
Express的hello world:
var express = require('express'); var app = express(); app.get('/chemayi', function (req, res) { res.send('hello chemayi'); }) var server = app.listen(3000, function () { var host = server.address().address; var port = server.address().port; console.log('Example app listening at http://%s:%s', host, port); });
然后在终端执行node index,接着访问http://localhost:3000 就可以看到返回数据了
Express的配置和路由
下面代码使用 expressjs 来返回服务器端的 JSON/XML 数据
1 var express = require('express'); 2 var app = express(); 3 4 app.get('/menu', function(req, res) { 5 res.status(200); 6 res.json({ 7 python: 20, 8 nodejs: 1, 9 others: 10 10 }) 11 }) 12 13 var questions = [{ 14 id: 1, 15 title: 't1', 16 asker: 'you', 17 course: 'nodejs', 18 'last-repkly': Date.now(), 19 reply: 1, 20 state: 'resolved' 21 }, { 22 id: 2, 23 title: 't2', 24 asker: 'you', 25 course: 'nodejs', 26 'last-repkly': Date.now(), 27 reply: 1, 28 state: 'unresolved' 29 }]; 30 31 app.get('/questions', function(req, res) { 32 res.status(200); 33 res.json(questions) 34 }) 35 36 app.get('/questions/all', function(req, res) { 37 res.status(200); 38 res.json(questions) 39 }) 40 41 app.get('/questions/resolved', function(req, res) { 42 res.status(200); 43 res.json(questions.filter(function (q) { 44 return q && q.state === 'resolved'; 45 })) 46 }) 47 48 app.get('/questions/unresolved', function(req, res) { 49 res.status(200); 50 res.json(questions.filter(function (q) { 51 return q && q.state === 'unresolved'; 52 })) 53 }) 54 55 var server = app.listen(3000, function() { 56 var host = server.address().address; 57 var port = server.address().port; 58 console.log('Example app listening at http://%s:%s', host, port); 59 });