Express 摘录 (1)
2016-07-10 12:56
148 查看
1. Install
npm init
npm install express --save
or
npm install express-generator -g
express [appname]
npm install
set DEBUG=[appname]:* & npm start
2. RESTFUL url
app.METHOD(path,handler)
METHOD: get/post/put/delete/all
handler: function(req,res,next)
3. static file
app.use(express.static('folder'))
4. Route
5. 中间件
中间件的功能包括:
执行任何代码。
修改请求和响应对象。
终结请求-响应循环。
调用堆栈中的下一个中间件。
如果当前中间件没有终结请求-响应循环,则必须调用
方法声明 function(req,res,next){...} next()用于调用下一中间件
错误处理中间件 function(err,req,res,next){err.stack}
关键函数app.use,next 可以挂载至某一路径 也可以不挂载
路由中间件
6. 模板引擎
npm install jade --save
使用ejs
express -e projectName (-e使用ejs)
npm install
app.set('views',
path.join(__dirname, 'views'));
app.set('view
engine', 'ejs');
1.<%= %>
输出的是转义后的变量值
2.<%- %>
输出的是没有转义后的变量值
3.<% %>
标签中是javascript逻辑代码,注意括号的开闭合
npm init
npm install express --save
or
npm install express-generator -g
express [appname]
npm install
set DEBUG=[appname]:* & npm start
. ├── app.js ├── bin │ └── www ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ ├── index.js │ └── users.js └── views ├── error.jade ├── index.jade └── layout.jade
2. RESTFUL url
var express =require('express');var app =express();
app.METHOD(path,handler)
METHOD: get/post/put/delete/all
handler: function(req,res,next)
3. static file
app.use(express.static('folder'))
app.use('/static', express.static(__dirname +'/public'));
4. Route
var express = require('express'); var app = express(< 4000 /span>); // respond with "hello world" when a GET request is made to the homepage app.get('/', function(req, res) { res.send('hello world'); });
app.get('/example/b', function (req, res, next) { console.log('response will be sent by the next function ...'); next(); }, function (req, res) { res.send('Hello from B!'); });
app.get('/example/c', [cb0, cb1, cb2]);
方法 | 描述 |
---|---|
res.download() | 提示下载文件。 |
res.end() | 终结响应处理流程。 |
res.json() | 发送一个 JSON 格式的响应。 |
res.jsonp() | 发送一个支持 JSONP 的 JSON 格式的响应。 |
res.redirect() | 重定向请求。 |
res.render() | 渲染视图模板。 |
res.send() | 发送各种类型的响应。 |
res.sendFile | 以八位字节流的形式发送文件。 |
res.sendStatus() | 设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。 |
var express = require('express'); var router = express.Router();
app.route('/book') .get(function(req, res) { res.send('Get a random book'); }) .post(function(req, res) { res.send('Add a book'); }) .put(function(req, res) { res.send('Update the book'); });
// 该路由使用的中间件 router.use(function timeLog(req, res, next) { console.log('Time: ', Date.now()); next(); });
5. 中间件
中间件的功能包括:
执行任何代码。
修改请求和响应对象。
终结请求-响应循环。
调用堆栈中的下一个中间件。
如果当前中间件没有终结请求-响应循环,则必须调用
next()方法将控制权交给下一个中间件,否则请求就会挂起。
方法声明 function(req,res,next){...} next()用于调用下一中间件
错误处理中间件 function(err,req,res,next){err.stack}
关键函数app.use,next 可以挂载至某一路径 也可以不挂载
路由中间件
// 一个中间件栈,处理指向 /user/:id 的 GET 请求 router.get('/user/:id', function (req, res, next) { // 如果 user id 为 0, 跳到下一个路由 if (req.params.id == 0) next('route'); // 负责将控制权交给栈中下一个中间件 else next(); // }, function (req, res, next) { // 渲染常规页面 res.render('regular'); }); // 处理 /user/:id, 渲染一个特殊页面 router.get('/user/:id', function (req, res, next) { console.log(req.params.id); res.render('special'); }); // 将路由挂载至应用 app.use('/', router);
app.use(express.static('public'));
6. 模板引擎
npm install jade --save
views, 放模板文件的目录,比如:
app.set('views', './views')
view engine, 模板引擎,比如:
app.set('view engine', 'jade')
使用ejs
express -e projectName (-e使用ejs)
npm install
app.set('views',
path.join(__dirname, 'views'));
app.set('view
engine', 'ejs');
1.<%= %>
输出的是转义后的变量值
2.<%- %>
输出的是没有转义后的变量值
3.<% %>
标签中是javascript逻辑代码,注意括号的开闭合
相关文章推荐
- atoi()
- linux中服务器定时程序设定
- exce()族
- FD_CLOEXEC是什么?
- Android开发之Error when loading the SDK
- C语言link()函数:建立文件连接
- 2016重拾linux碎片
- 【HDU】5451 Best Solver(2015 ACM/ICPC Shenyang Online)
- pread,pwrite,read,write区别
- git fetch
- linux编程学习笔记(八) 文件 定位 lseek pread pwrite
- C语言lseek()函数:移动文件的读写位置
- S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP 分别是什么意思?
- 轻松应用Linux连接校园网
- 树上(带修改)莫队算法-- bzoj4129 && bzoj3757
- 用Javascript控制Table的行移动
- 详细介绍Linux指令od
- Unity2D开发小细节
- opengl编程指南
- UML类图