nodejs使用express4框架默認app.js配置說明


 1 var express = require('express'); //引入express模塊
 2 var path = require('path'); //引入path模塊,該模塊包括了一些處理文件路徑的功能
 3 var favicon = require('serve-favicon'); //圖標緩存服務中間件
 4 var logger = require('morgan'); //HTTP請求日志中間件
 5 var cookieParser = require('cookie-parser'); //cookie操作中間件
 6 var bodyParser = require('body-parser');
 7 //body-parser插件用於post參數的解析,最常用的是其中的json和urlencoded的parser,可分別對以JSON格式的post參數和urlencoded的post參數進行解析,均可獲得一個JSON化的req.body
 8 
 9 var routes = require('./routes/index');
10 var users = require('./routes/users');//自定義路由模塊的引用
11 
12 var app = express(); //創建一個 Express 應用。express()是一個由express模塊導出的入口(top-level)函數。
13 
14 // view engine setup
15 app.set('views', path.join(__dirname, 'views')); //設置views的目錄,__dirname全局變量表示當前執行腳本所在的目錄
16 app.set('view engine', 'ejs'); //設置渲染引擎
17 
18 // uncomment after placing your favicon in /public
19 //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); //設置圖標
20 app.use(logger('dev')); //日志設置,使用參見https://github.com/expressjs/morgan
21 app.use(bodyParser.json()); //解析JSON格式的post參數
22 app.use(bodyParser.urlencoded({ extended: false })); //解析urlencoeded編碼的post參數,URLEncoded編碼中,所有的字符均為ANSCII碼
23 app.use(cookieParser()); //cookie設置
24 app.use(express.static(path.join(__dirname, 'public'))); //靜態目錄設置
25 
26 //路由
27 app.use('/', routes);
28 app.use('/users', users);
29 
30 //捕捉404錯誤並進行錯誤處理
31 app.use(function(req, res, next) {
32 var err = new Error('Not Found');
33 err.status = 404;
34 next(err);
35 });
36 
37 // error handlers
38 
39 //開發環境錯誤處理
40 // will print stacktrace
41 if (app.get('env') === 'development') {
42 app.use(function(err, req, res, next) {
43 res.status(err.status || 500);
44 res.render('error', {
45 message: err.message,
46 error: err
47 });
48 });
49 }
50 
51 //生產環境錯誤處理
52 // no stacktraces leaked to user
53 app.use(function(err, req, res, next) {
54 res.status(err.status || 500);
55 res.render('error', {
56 message: err.message,
57 error: {}
58 });
59 });
60 
61 
62 module.exports = app;

轉自風車車jerry的博文,原鏈接為http://www.cnblogs.com/fhen/p/5257467.html。僅為方便查看。


免責聲明!

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



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