介绍:javascript
Express是由路由和中间件构成一个的nodejs的一种web应用框架;css
功能:html
能够设置中间件来响应 HTTP 请求。java
定义了路由表用于执行不一样的 HTTP 请求动做。node
中间件的功能包括:git
Express 应用可以使用以下几种中间件:github
使用例子:web
一.如何设置中间件来响应http请求:express
1.建立一个 Express 应用。api
express()
是一个由 express 模块导出的入口(top-level)函数。
var express = require('express'); var app = express();//其中app就是一个应用级中间件对象
// 路由和句柄函数(中间件系统),处理指向 /user/:id 的 GET 请求 app.get('/user/:id', function (req, res, next) { res.send('USER');//传送HTTP响应
/*第一个参数:表示模板的文件,相对于views目录 view/index.html
第二个参数:传递给模板使用的数据
*/
res.render('','');//响应页面
app.use('/public',express.static(__dirname+'/public'));
三.定义路由表执行不一样的http请求});
二.应用静态文件(js/css文件)express.static
是 Express 内置的惟一一个中间件。是基于 serve-static 开发的,负责托管 Express 应用内的静态资源。
eg:express.static
app.use('/api',require('./routers/api'));
eg:api.js文件
var express=require('express');
var router =express.Router();
router.get('/user',function (req,res,next) {
res.send('api');
});
/**
用户注册
*/
router.post('/user/register',function (req,res,next) {
//处理不一样业务逻辑
});
module.exports=router;
四.使用模板引擎;
eg:
/配置应用模板
//1.定义模板引擎,使用swig.renderFile方法解析后缀名为html文件 ;engine引擎
app.engine('html',swig.renderFile);
//engine('模板引擎名称,同时也是模板文件后缀名',解析处理模板内容的方法);
//2.html文件 设置模板文件存放的目录
app.set('views','./views');
//app.set('views','目录')
//注册模板引擎
app.set('view engine','html');
//app.set('view engine','必须和app.engine方法的第一个参数一致');
swig.setDefaults({cache:false});
eg:这种方法没用过
var fs = require('fs'); // 此模板引擎依赖 fs 模块 app.engine('ntl', function (filePath, options, callback) { // 定义模板引擎 fs.readFile(filePath, function (err, content) { if (err) return callback(new Error(err)); // 这是一个功能极其简单的模板引擎 var rendered = content.toString().replace('#title#', '<title>'+ options.title +'</title>') .replace('#message#', '<h1>'+ options.message +'</h1>'); return callback(null, rendered); }) }); app.set('views', './views'); // 指定视图所在的位置 app.set('view engine', 'ntl'); // 注册模板引擎