var express = require('express');   //引入express模块
var path = require('path'); //引入path模块,该模块包括了一些处理文件路径的功能
var favicon = require('serve-favicon'); //图标缓存服务中间件
var logger = require('morgan'); //HTTP请求日志中间件
var cookieParser = require('cookie-parser'); //cookie操作中间件
var bodyParser = require('body-parser');
//body-parser插件用于post参数的解析,最常用的是其中的json和urlencoded的parser,可分别对以JSON格式的post参数和urlencoded的post参数进行解析,均可获得一个JSON化的req.body var routes = require('./routes/index');
var users = require('./routes/users');//自定义路由模块的引用 var app = express(); //创建一个 Express 应用。express()是一个由express模块导出的入口(top-level)函数。 // view engine setup
app.set('views', path.join(__dirname, 'views')); //设置views的目录,__dirname全局变量表示当前执行脚本所在的目录
app.set('view engine', 'ejs'); //设置渲染引擎 // uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); //设置图标
app.use(logger('dev')); //日志设置,使用参见https://github.com/expressjs/morgan
app.use(bodyParser.json()); //解析JSON格式的post参数
app.use(bodyParser.urlencoded({ extended: false })); //解析urlencoeded编码的post参数,URLEncoded编码中,所有的字符均为ANSCII码
app.use(cookieParser()); //cookie设置
app.use(express.static(path.join(__dirname, 'public'))); //静态目录设置 //路由
app.use('/', routes);
app.use('/users', users); //捕捉404错误并进行错误处理
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
}); // error handlers //开发环境错误处理
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
} //生产环境错误处理
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
}); module.exports = app;

nodejs使用express4框架默认app.js配置说明的更多相关文章

  1. Nodejs之目录介绍及app.js说明

    nodejs目录说明,app.js简单介绍及如何设置app.js启动项目. 新建的项目结构应该是这样 bin:项目的启动文件,也可以放其他脚本. node_modules:用来存放项目的依赖库. pu ...

  2. Express4.10.2开发框架中默认app.js的代码注释

    //通过require()加载了express.path等模块var express = require('express');var path = require('path');var favic ...

  3. nodeJs开发app.js解析

    在 node.js 中模块分为核心模块和文件模块两种,核心模块是通过 require('xxxx') 导入的,文件模块是以 require('/xxxx') 或 require('./xxxx').r ...

  4. nodejs教程:安装express及配置app.js文件

    express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.下面简单来说说express的安装和app.js文件的配置,然后在今后的教程中一步一步使用express.js搭建个 ...

  5. nodejs教程 安装express及配置app.js文件的详细步骤

    来自:http://www.jb51.net/article/36710.htm   express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.下面简单来说说express的 ...

  6. nodeJS(2)深了解: nodeJS 项目架构详解(app.js + Express + Http)

    简略了解:nodeJS 深了解(1): Node.js + Express 构建网站预备知识 环境: 环境: win7 + nodeJS 版本(node): 新建 nodeJS 项目: 名称为: te ...

  7. 默认的app.js

    我们通过npm start 默认入口是app.js,如果想默认入口改为main.js,可以修改项目下的/bin/www文件把app修改main var app = require('../app');

  8. nodejs 批处理运行 app.js

    1.直接执行run.bat文件         以下的内容为批处理文件run.bat中的内容,批处理命令中NODE_PATH为Node.js的安装路径. 使用express 生成的项目.app.js为 ...

  9. express默认配置文件app.js

    Express路由 Express模块化路由 Express中间件 Express结合jade模板渲染HTML 看完上面的,再回头看这app.js,就应该感觉没什么压力了,主要包含http的创建,基本 ...

随机推荐

  1. class0513(html基础加强2)

    使用VS创建网页 新建Web项目(新建→ASP.Net Web应用程序),新建html页面(添加→新建项→Web→HTML页) 查看页面的方式: 切换到“设计”视图,可以在这里查看初步的预览效果,不是 ...

  2. bzoj 1834 [ZJOI2010]network 网络扩容(MCMF)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1834 [题意] 给定一个有向图,每条边有容量C,扩容费用W,问最大流和使容量增加K的最 ...

  3. 2013年信1204-1-2班小学期<程序设计技能训练>作品

    int add(int x,int y) { return x+y; } 请写明题目,学号,姓名,班级,日期 程序要有详细的注释

  4. KindEditor 4.1.10 (2013-11-23)首行空格不能显示在编辑器内

    KindEditor版本: KindEditor 4.1.10 (2013-11-23) 一.BUG再现步骤: 1.文章前面插入二个全角空格作为缩进,因为并非所有段落都有缩进故不采用 CSS 的 te ...

  5. 【解决】org.apache.hadoop.hbase.ClockOutOfSyncException:

    org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.hadoop.hbase.ClockOutOfSyncException: Se ...

  6. poll()

    # include < sys/ poll. h> int poll ( struct pollfd * fds, unsigned int nfds, int timeout) ; 和s ...

  7. hdoj 1262 寻找素数对

    寻找素数对 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  8. [OC Foundation框架 - 14] NSNull

    在NSDictionary中,nil代表结束,允许存入 使用NSNull代替   int main(int argc, const char * argv[]) { @autoreleasepool ...

  9. Umbraco中的权限体系结构

    分为管理用户体系,和成员用户体系,也就是 Users(用户)和Members(成员). 2.1. Users(用户) 用户是对功能操作权限定义的,首先看一下所有Action的Permissions: ...

  10. ECSHOP文件目录详解

    ECShop 最新程序 的结构图及各文件相应功能介绍ECShop文件结构目录┣ activity.php 活动列表┣ affiche.php 广告处理文件┣ affiliate.php 生成商品列表┣ ...