express的web server設置流程

對於express的設置,一直是拿來就用,只知其然,今天查了一下文檔,記錄詳細過程以下。html

一、實現基本經常使用功能須要的模塊
path 用來處理路徑字符串拼接,設置模板路徑和靜態資源路徑時使用
cookie-parser 設置應用的請求對cookie的支持
body-parser 處理request請求內容,能夠在req.body中訪問,適用於POST請求時
ejs 靜態資源模板引擎,解析html文件
express-session session設置
compression 使用gzip壓縮請求頭的體積,若是在服務器上,經過nginx反向代理設置了請求壓縮,則也能夠不使用該中間件nginx

2. express保留的全局關鍵字變量,經過app.set/app.get使用
env
不是必需要設置,默認使用process.env.NODE_ENV,若是環境變量中NODE_ENV沒有設置,則使用development數據庫

app.set能夠設置任意的key-value關係,並經過app.get取出,可是部分保留關鍵字必須設置了才能讓應用正常運行express

views
若是使用單獨的html文件,則必須設置,一個或一組目錄,存儲應用的頁面模板(views),若是是多個目錄,則在查找文件是會按照定義的順序逐個查找緩存

views engine
解析頁面文件使用的引擎,例如上面的ejs.__express,定義了views則必須定義views engine服務器

views cache
是否容許使用緩存的頁面模板,NODE_ENV設置爲production時,該變量默認值是true,其餘狀況的默認值是undefined cookie

3. 靜態資源文件路徑設置 express.static
靜態資源文件的路徑設置和頁面模板路徑設置不一樣,二者也未必須要是同一個目錄
靜態資源路徑設置的語法是:session

app.use(express.static(path.join(__dirname, public_dir_name)));

 

4. 路由設置
簡單的路由設置能夠經過app.route(url, callback)的方式設置,若是須要集中設置多個路由,則能夠使用express.Router建立路由中間件,
在此基礎上實現路由集中處理:app

var router = express.Router();
router.get("url1", callback1);
router.post("url2", callback2);
app.use(router); // 加載中間件

 

5. 應用啓動
app.listen函數啓動應用,須要指定使用的端口,hostname爲可選函數

app.listen(port, callback);

 

6. 其餘
關於session,在設置session時能夠指定session的存儲位置,除了是服務器內存,也但是數據庫或其餘類型存儲
設置關鍵字:store

相關文章
相關標籤/搜索