AABBbaby 2014-04-17
六、使用express(1)产生应用Express框架绑定了一个可执行脚本,名为express(1)。如果使用npm对Express框架进行全局安装,那么express到处都能使用。
> npm install -g express
express(1)工具提供了简单的产生应用程序骨架的方式,而且它有一定的使用范围。比如它只支持有限的几个模板引擎,而Express自身是支持任意Node构建的模板引擎。可以使用下面的命令进行查看:
> express --help
PS D:\tmp\node\hello-world> express --help
Usage: express [options]
Options:
-h, --help output usage information
-V,--versionoutputtheversionnumber
-s,--sessionsaddsessionsupport
-e,--ejsaddejsenginesupport(defaultstojade)
-J,--jshtmladdjshtmlenginesupport(defaultstojade)
-H,--hoganaddhogan.jsenginesupport
-c,--css<engine>addstylesheet<engine>support(less|stylus)(defaultstoplaincss)
-f, --force force on non-empty directory如果想生成支持EJS、Stylus、和会话Session的应用,那么该这样做:
>express--sessions--cssstylus--ejsmyapp
D:\tmp\node\hello-world>express --sessions --css stylus --ejs myappcreate : myapp
create:myapp/package.json
create:myapp/app.js
create:myapp/public
create:myapp/public/javascripts
create:myapp/public/images
create:myapp/public/stylesheets
create:myapp/public/stylesheets/style.styl
create:myapp/routes
create:myapp/routes/index.js
create:myapp/routes/user.js
create:myapp/views
create : myapp/views/index.ejsinstall dependencies: $ cd myapp && npm install
run the app: $ node app
与其它Node应用一样,必须安装依赖包。
>cdmyapp
> npm install然后运行myapp,执行:> node myapp.js
使用浏览器访问地址:http://localhost:3000/
可以看到:
Express
Welcome to Express这就是创建简单应用的全过程。要记住,Express框架并没有绑定任何指定的目录结构,
七、Express框架说明
Express框架是Node.js第三方框架中比较好的Web开发框架。Express除了为HTTP模块提供了更高层的接口外,还实现了很多功能,其中包括:
1)路由控制;
2)模板解析支持;
3)动态视图;
4)用户会话;
5)CSRF保护;
6)静态文件服务;
7)错误控制器;
8)访问日志;
9)缓存;
10)插件支持。要说明一点,Express并不是无所不包的全能框架(像Rails或Django那样实现了模板引擎甚至是ORM),它只是一个轻量级的Web框架,其主要功能只是对HTTP协议中常用操作的封装,更多的功能需要插件或整合其它模块来完成。
比如:
[javascript]viewplaincopyprint?
varexpress=require('express');
varapp=express();
app.use(express.bodyParser());
app.all('/',function(req,res){
res.send(req.body.title+req.body.text);
});
app.listen(3000);