1、代码分析

     var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('hello world');
console.log('hello world');
});
app.listen('8808');
  require() 用于在当前模块中加载和使用其他模块;此方法是模块的基础,使用中大概有路径的概念就行。PS:JS文件可以去掉".js"后缀
   exports 表示模块的导出对象,用于导出模块的属性和公共方法。
   PS:一个模块的代码只会在模块第一次被使用时执行,不会因require多次而被初始化多次。
 
     express() 表示创建express应用程序。简单几行代码其实就可以创建一个应用
 
  app.listen() 就是在给定的主机和端口上监听请求,这个和node中http模块的http.createServer(function(){...}).listen()效果一致;
     app.set(name, value)和app.get(name)就是你想的那样,set()为设置 name 的值设为 value,get()为获取设置项 name 的值。如俺app.js的图片16行中的一句“app.set('port', process.env.PORT || 3000)”就是设置项目的port,在下面使用http.createServer时就可以使用app.get('port')来获取,
 
了解app.engine()方法之前先看看express应用的安装命令:“express -e nodejs-product”,其中的 -e 和 -J 我们一开始已经提到,表示ejs和jade模板。
     如果想把模板后缀改成“.html”时就会用到app.engine方法,来重新设置模板文件的扩展名,比如想用ejs模板引擎来处理“.html”后缀的文件:app.engine('.html', require('ejs').__express);
     app.engine(ext, callback) 注册模板引擎的 callback 用来处理ext扩展名的文件。
   PS:__express不用去care,其实就是ejs模块的一个公共属性,表示要渲染的文件扩展名。
 
     app.use([path], function) 使用中间件 function,可选参数path默认为"/"。使用 app.use() “定义的”中间件的顺序非常重要,它们将会顺序执行,use的先后顺序决定了中间件的优先级(经常有搞错顺序的时候);
 
     最后介绍个很有用的express API:
     app.render(view, [options], callback) 渲染 view, callback 用来处理返回的渲染后的字符串。

最新文章

  1. pyqt官方示例
  2. javascript学习笔记(四):事件处理函数和动态创建html标记。
  3. mysql / mysqld_safe / mysqld 常见错误处理
  4. percona-toolkit系列之介绍和安装(mysql复制工具)
  5. Spring学习笔记之Bean的一些属性设置
  6. PLSQL_基础系列03_合并操作UNION / UNION ALL / MINUS / INTERSET(案例)
  7. 如何编写程序设置Android来电铃声
  8. 数学(概率)CodeForces 626D:Jerry's Protest
  9. HDOJ(HDU) 2139 Calculate the formula(水题,又一个用JavaAC不了的题目)
  10. CSS引入本地字体与在线字体
  11. Saiku嵌入系统使用时传参数访问saiku(十六)
  12. vue项目打包后的资源路径问题
  13. SSH error ( Read from socket failed: Connection reset by peer ) and it's solution
  14. Ant之build.xml配置详解【转】
  15. tips:Jquery的attr和prop的区别
  16. Docker 执行nginx以及简单进入container
  17. Linux下跑程序,防止命令终端(断网,断电)
  18. Unable to update the EntitySet 'T_JsAPI' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.
  19. PTA第五次作业
  20. numpy安装包scipy

热门文章

  1. BUPT复试专题—查找(2011)
  2. Linux中修改docker镜像源及安装docker
  3. nrf51822中app_button 的应用
  4. [LeedCode OJ]#28 Implement strStr()
  5. C3P0连接池配置和实现详解(转)
  6. CSS属性中Display与Visibility的不同
  7. 淘宝数据库OceanBase SQL编译器部分 源码阅读--生成逻辑计划
  8. 翻译:A Tutorial on the Device Tree (Zynq) -- Part III
  9. Alert提示框之后跳转指定页面
  10. 如何在外部采用AES-128对HLS的TS流进行加密