node-- express()模塊


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 用來處理返回的渲染后的字符串。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM