Express框架是后台的Node框架,所以和jQuery、zepto、yui、bootstrap都不是一个东西。
Express在后台的受欢迎的程度,和jQuery一样,就是企业的事实上的标准。
● 原生Node开发,会发现有很多问题。比如:
■ 呈递静态页面很不方便,需要处理每个HTTP请求,还要考虑304问题
■ 路由处理代码不直观清晰,需要写很多正则表达式和字符串函数
■ 不能集中精力写业务,要考虑很多其他的东西
我们自己可以把第一天的作业,就是那个静态文件服务给封装成为模块。封装的越多,就自己做出了类似Express的东西。
● EXPRESS的哲学是在你的想法和服务器之间充当薄薄的一层。这并不意味着他不够健壮,或者没有足够的有用特性,而是尽量少干预你,让你充分表达自己的思想,同时提供一些有用的东西。
英语官网:http://expressjs.com/
中文官网:http://www.expressjs.com.cn/
整体感知,Express框架。
安装Express框架,就是使用npm的命令。
1 npm install --save express |
--save参数,表示自动修改package.json文件,自动添加依赖项。
路由能力:
1 var express = require("express"); 2 3 var app = express(); 4 5 app.get("/",function(req,res){ 6 res.send("你好"); 7 }); 8 9 app.get("/haha",function(req,res){ 10 res.send("这是haha页面,哈哈哈哈哈哈"); 11 }); 12 13 app.get(/^\/student\/([\d]{10})$/,function(req,res){ 14 res.send("学生信息,学号" + req.params[0]); 15 }); 16 17 app.get("/teacher/:gonghao",function(req,res){ 18 res.send("老师信息,工号" + req.params.gonghao); 19 }); 20 21 app.listen(3000); |
静态文件伺服能力:
1 app.use(express.static("./public")); |
模板引擎:
1 var express = require("express"); 2 3 var app = express(); 4 5 app.set("view engine","ejs"); 6 7 app.get("/",function(req,res){ 8 res.render("haha",{ 9 "news" : ["我是小新闻啊","我也是啊","哈哈哈哈"] 10 }); 11 }); 12 13 app.listen(3000); |
注:Express4.X,和Express3.X差别非常大。