node-- express()模塊

一、代碼分析html

     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 用來處理返回的渲染後的字符串。
相關文章
相關標籤/搜索