node.js第10二课(Express框架及入门介绍)

node.js第十二课(Express框架及入门介绍)

一、为什么要用Express框架?
  Node.js由于不需要另外的HTTP服务器,因此减少了一层抽象,给性能带了不少的提升,同时也因此提高了开发难度,实现一个POST数据的表单,例如:
     <form>
         <input type='text' name='title'/>
         <input type='submit'/>
     </form>
        PHP获取POST请求参数:echo $_POST('title');
        Java:request.getParameter("title");
        nodejs:
            实例:post.js--见第十课
            Node.js虽然提供了http模块,却不是让你直接用这个模块进行Web开发的。http模块仅仅是一个HTTP服务器内核的封装。
二、Express框架
  npm提供了大量的第三方模块,其中不乏许多Web框架,我们没有必要重复发明*,因而选择使用Express作为开发框架,
  目前最稳定且唯一一个Web开发框架。
  提供更高层的接口外,还实现了许多功能,如下:
     路由控制
     模版解析支持
     动态视图
     用户会话
     CSRF保护
     静态文件服务
     错误控制器
     访问日志
     缓存
     插件支持
     使用Express重新实现上方例子:
     案例:getTitle.js
var express=require('express');
var app=express();
app.use(express.bodyParser);
app.all('/',function(req,res){
  res.send(req.body.title);
});
app.listen(3000);

三、安装Express
  如果一个包是某个工程依赖,我们需要使用本地模式安装即可,但是Express像很多框架一样提供了快速开发工具,这个工具的功能
  通常是建立一个网站最小的基础框架,在此基础上完成开发,当然可以自己建立,推荐使用这个工具,我们选择全局模式安装。
        npm install -g express
        安装完之后使用express --help
        Express在初始化一个项目的时候需要指定模块引擎,模式支持Jade和ejs,为了降低学习难度我们推荐使用ejs(因为它符合html标准)。
四、建立工程
   express ejs test  //ejs模式
   express test      //jade模式
   当前目录出现了子目录pcat并且产生一些文件:
       test
       test/package.json
       test/app.js
       ......
    查看package.json中的dependencies属性中有express和ejs或者express和jade,
    无参数的npm install的功能就是检查当前目录下的package.json并自动安装所有指定的依赖。
五、启动服务器
   用Express实现的网站实际上就是一个Node.js程序,因此可以直接运行,我们运行的node app.js,
   看到Express server listening on port 3000 in development mode。打开浏览器访问即可。
   如果在修改代码后不想重新启动服务看到效果,则使用supervisor实现监视代码修改和自动重启。