Express4--说明

express4.*;
(1)

 var app = express();

  生成一个express实例 app。

(2)

app.set(‘views‘, path.join(__dirname, ‘views’)):

  设置 views 文件夹为存放视图文件的目录, 即存放模板文件的地方,__dirname 为全局变量,存储当前正在执行的脚本所在的目录。

(3)

app.set(‘view engine‘, ‘ejs’):

  设置视图模板引擎为 ejs。

(4)

app.use(favicon(__dirname + ‘/public/favicon.ico’)):

  设置/public/favicon.ico为favicon图标。

(5)

app.use(logger(‘dev’)):

  加载日志中间件。

(6)

app.use(bodyParser.json()):

  加载解析json的中间件。

(7)

app.use(bodyParser.urlencoded({ extended: false })):

  加载解析urlencoded请求体的中间件。

(8)

app.use(cookieParser()):

  加载解析cookie的中间件。

(9)

app.use(express.static(path.join(__dirname, ‘public‘))):

  设置public文件夹为存放静态文件的目录。

(10)

app.use(‘/‘, routes);
app.use(‘/users‘, users):

  路由控制器。

(11)

app.use(function(req, res, next) {
var err = new Error(‘Not Found‘);
err.status = 404;
next(err);
});

  捕获404错误,并转发到错误处理器。

(12)

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
});
});
}

 开发环境下的错误处理器,将错误信息渲染error模版并显示到浏览器中。

(13)

app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render(‘error‘, {
message: err.message,
error: {}
});
});

 生产环境下的错误处理器,将错误信息渲染error模版并显示到浏览器中。

(14)

module.exports = app :

  导出app实例供其他模块调用。

我们再看 bin/www 文件:

#!/usr/bin/env nodevar debug = require(‘debug‘)(‘blog‘);
var app = require(‘../app‘);

app.set(‘port‘, process.env.PORT || 3000);

var server = app.listen(app.get(‘port‘), function() {
debug(‘Express server listening on port ‘ + server.address().port);
}); 

(1)

#!/usr/bin/env node:

  表明是 node 可执行文件。

(2)

var debug = require(‘debug‘)(‘blog’):

  引入debug模块,打印调试日志。

(3)

var app = require(‘../app’):

  引入我们上面导出的app实例。

(4)

app.set(‘port‘, process.env.PORT || 3000):

  设置端口号。

(5)

var server = app.listen(app.get(‘port‘), function() {
debug(‘Express server listening on port ‘ + server.address().port);
});

  启动工程并监听3000端口,成功后打印 Express server listening on port 3000。

我们再看 routes/index.js 文件:

var express = require(‘express‘);
var router = express.Router();

/* GET home page. */
router.get(‘/‘, function(req, res) {
res.render(‘index‘, { title: ‘Express‘ });
});

module.exports = router;

  生成一个路由实例用来捕获访问主页的GET请求,导出这个路由并在app.js中通过app.use(‘/‘, routes); 加载。这样,当访问主页时,就会调用res.render(‘index‘, { title: ‘Express‘ });渲染views/index.ejs模版并显示到浏览器中。

时间: 2024-10-20 15:51:57

Express4--说明的相关文章

Node+express4.x安装以及webstrom的使用

1 Nodejs安装 Window下安装nodejs  (1)进入官网下载对应版本的nodejs(我选择的是32位的window7版本x86) (2)修改默认安装路径 (3)输入node -v查看nodejs版本,npm -v查看npm的版本   Linux下安装nodejs参考:http://www.xitongzhijia.net/xtjc/20150202/36680.html 2  Express4.x安装 注意:express 4.0版本之后将命令行工具单独分离出来,叫做express

MongoNote02.Express4+Mongoose CRUD

最近学习了MongoDB,大体料及了一下NodeJS,就用Express框架写了一个简单的CRUD Demo. 代码放在github上:点击打开链接 最近的学习感觉动力不足,虽然学习了MongoDB,但是在工作中也没把它用上,所以,没进行实战, 学习就有些盲目性,效率也低下. 自己近期也在思考,在用Java作为主要的开发语言之外,选择一门脚本语言拓展视野.本来想好好学习 NodeJS,但是感觉这个东西不够经典,也不够稳定,适合某些特殊的场景,又不够全能.后来思考了一 下,还是从Python和Ru

nodejs+express4.0+mongodb安装方法 for Linux, Mac

废话不多说 1:下载nodejs包 下载地址如下:http://www.nodejs.org/download/ 下载source code版本需要解压后到其目录执行./configure,然后make && make install; 而binaries的tar.gz解压后即可. 2:下载mongodb 下载地址如下:http://www.mongodb.org/downloads 而binaries的tar.gz解压后即可. 3:配置环境变量 cd ~:此目录下有个.bash_prof

express4里要单独安装cookie-parser和express-session

express4里要单独安装cookie-parser和express-session express4里要单独安装cookie-parser和express-session: 1 2 npm install express-session --save npm install cookie-parser --save 有关代码替换成 1 2 3 4 5 6 7 var cookieParser = require('cookie-parser') var session = require('

《Node.js实战》博客实例 express4.x

大致看了一阵子nodejs的书,对语法有初步的了解.但是还是写不出个实例来.最近学长给我的这本书感觉挺入门的<Node.js实战>电子工业出版社.毕竟图书馆借的,出版时间已经是两年前了.很多代码都更新了.特别是express 4.x相对与express 3.x有很多的修改.比如把中间件独立出来.好处是有.这样express的更新就不用受这些中间件的影响 坏处也许主要是对我这种新手吧.大部分教材都是express 3.x甚至是 2.x 的.这样学习起来就有困难.也许不会有人看到这个.即使解决不了

Nodejs基于Express4的动态页面静态化

上个星期在慕课网上提了个问:Express4开发的动态页面访问好慢的说?不幸的是并没有得到可行的回答,周末自己折腾了一番,一并将小站(花满楼)的几个页面全部静态化了:事后想了想,虽不是什么特别标准好的搞法,但纠结这么久了,这个问题终于有办法了,还是有些欣慰的: 一开始页面都是动态的,由jade模板render出来的,可不明白为什么不论页面内容多少,打开都至少要一秒多...:后来专门弄个站点作为静态资源站,缓存加gzip(Nodejs打造静态资源服务器与文件上传):OK,静态资源现在没啥大问题了:

Express4 启航指南

确实有感而发,Nodejs真的发展太快了,这么说的原因有两点:自己去年冬天买了本<了不起的Node.js>,里面介绍Express的版本还是2.x.x:前些天小伙伴买了本<Node.js实战>,结果依赖的Express是3.x.x.尼玛如果安装目前新版的Express4,那么这些书中的例子连项目都无法正常跑起来. Nodejs相关的纸版书一上市就已经过时了! 此文的背景是由于俺某天手欠,升级了最新Express V4+后,发现项目不可用了(还好是公司内部的小工具),查找资料后整理了

express-partials与express4.x不兼容问题

在express中设置view engine为html,express-partials会导致语法不正确,其实只要做一行代码的改动就可以 function renderer(ext){ if(ext[0] !== '.'){ ext = '.' + ext; } //新增一行代码 if(ext == '.html') ext = '.ejs'; return register[ext] != null ? register[ext] : register[ext] = require(ext.s

使用express4.x版、Jade模板以及mysql重写《nodejs开发指南》微博实例

最近阅读<nodejs开发指南>一书,书是不错的,然而其微博代码示例用的是express3.x,用些过时了,运行代码出现不少bug(我电脑安的是express4.x),于是用express4.x+jade模板重写一遍(原代码使用的是ejs模板).因为想体验一下node结合MySQL开发,于是将mongodb改为mysql.下面进入正文 1.安装express框架与生成器: 2.进入网站目录,创建项目: 3.安装中间件与依赖项: package.json如下 单独安装时记得加上--save,便于

使用express4.X + jade + mongoose + underscore搭建个人电影网站

(-?-;), 周末过得真是快啊,  很久以前就看到imooc上有个搭建个人电影网站一期 ,二期的视频, 这两周宅家里撸玩没事干, 我也学着搭了一个, 这些东西都是基础, 只要花点时间很好学的, nodeJS这东东就是轻量级, 哪里不爽点哪里. 如果你学着写完可以学到: express新建项目 express自带的jade模板引擎的使用 express的路由管理 express中的权限管理 express如何与mongoose结合, 以及mongoose中的schema和model的使用方法,