如何全面掌握Node Express的安装、使用、路由、中间件应用技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计726个文字,预计阅读时间需要3分钟。
本文实例讲述了Node+Express的使用方法。分享给广大开发者参考,内容如下:
安装Express:bashnpm install --save express
基本使用:javascript// 引用expressvar express=require('express');
// 创建app实例var app=express();
// 罗列中间件app.get('/', function(req, res) { res.send('Hello, world!');});
本文实例讲述了Node Express用法。分享给大家供大家参考,具体如下:
安装
npm install --save express
基本使用
//引用express var express = require('express'); //创建app var app = express(); //罗列中间件 app.get('/',function( req,res ){ res.send('index'); }); app.get('/new/:id',function( req,res ){ res.send('news'+ res.params.id); }); //开启服务器,监听端口 app.listen(3000);
路由
express 路由
//路由小写和大写都可以。 var express = require('express'); var app = express(); app.get('/',function( req,res ) { res.send('get请求'); }); app.post('/',function( req,res ){ res.send('post请求'); }); app.listen(1221);
get和post请求都可以
app.all('/',function( req,res ){ res.send('get&post'); }); // 更推荐冒号写法 app.get('/student/:id',function( req,res ){}); app.get('/:username/:id',function( req,res ){ res.write(username); res.end(id) });
有字符串正则系统
// 匹配 acd 和 abcd app.get('/ab?cd', function(req, res) { res.send('ab?cd'); }); // 匹配 abcd、abbcd、abbbcd等 app.get('/ab+cd', function(req, res) { res.send('ab+cd'); }); // 匹配 abcd、abxcd、abRABDOMcd、ab123cd等 app.get('/ab*cd', function(req, res) { res.send('ab*cd'); }); // 匹配 /abe 和 /abcde app.get('/ab(cd)?e', function(req, res) { res.send('ab(cd)?e'); });
正则表达式
// 匹配任何路径中含有 a 的路径: app.get(/a/, function(req, res) { res.send('/a/'); }); // 路由中的正则表达式,可以使用分组捕获,程序中使用req.params[0],req.params[1]来获取 app.get(/student([\d]{1})\/class([\d]{2})$/,function( req,res ){ console.log( req.params[0],req.params[1] ); });
表单提交
表单提交到本身页面 // restful 路由设计
/* 概念: /student get // 读取学生信息 // app.get('/student/:id',function(){}); add // 添加学生信息 // app.add('/student/:id',function(){}); delete // 删除学生信息 // app.delete('/student/:id',function(){}); 问题:web网页中,大部分处理get和psot请求处理。 其它的服务,可以是从软件,或者app发出请求。一般restful是提供给app。 */ app.get('/',function( req,res ){ res.render('form.ejs'); }); app.post('/',function( req,res ){ res.send('form表单提交'); });
中间件
中间件middleware ,少了一层回调。
所有的中间件,都将作为www.npmjs.com/package/ejs%5D
var express = require('express'); var app = express(); // 设置模板引擎,设置为ejs app.set('view engine','ejs'); // 路由 app.get('/',function( req,res ){ //render: 第二个参数是,字典。 res.render('index.ejs',{ 'name': [ting,daie] }); }); app.listen(1221);
对应的模板为:
<ul> <% for( var i=0; i<name.length; i++ ){ %> <li><%=name[i]%></li> <% } %> </ul>
默认的视图文件夹,views。如果不想使用默认的 app.set('views','./shitu');
希望本文所述对大家node.js程序设计有所帮助。
本文共计726个文字,预计阅读时间需要3分钟。
本文实例讲述了Node+Express的使用方法。分享给广大开发者参考,内容如下:
安装Express:bashnpm install --save express
基本使用:javascript// 引用expressvar express=require('express');
// 创建app实例var app=express();
// 罗列中间件app.get('/', function(req, res) { res.send('Hello, world!');});
本文实例讲述了Node Express用法。分享给大家供大家参考,具体如下:
安装
npm install --save express
基本使用
//引用express var express = require('express'); //创建app var app = express(); //罗列中间件 app.get('/',function( req,res ){ res.send('index'); }); app.get('/new/:id',function( req,res ){ res.send('news'+ res.params.id); }); //开启服务器,监听端口 app.listen(3000);
路由
express 路由
//路由小写和大写都可以。 var express = require('express'); var app = express(); app.get('/',function( req,res ) { res.send('get请求'); }); app.post('/',function( req,res ){ res.send('post请求'); }); app.listen(1221);
get和post请求都可以
app.all('/',function( req,res ){ res.send('get&post'); }); // 更推荐冒号写法 app.get('/student/:id',function( req,res ){}); app.get('/:username/:id',function( req,res ){ res.write(username); res.end(id) });
有字符串正则系统
// 匹配 acd 和 abcd app.get('/ab?cd', function(req, res) { res.send('ab?cd'); }); // 匹配 abcd、abbcd、abbbcd等 app.get('/ab+cd', function(req, res) { res.send('ab+cd'); }); // 匹配 abcd、abxcd、abRABDOMcd、ab123cd等 app.get('/ab*cd', function(req, res) { res.send('ab*cd'); }); // 匹配 /abe 和 /abcde app.get('/ab(cd)?e', function(req, res) { res.send('ab(cd)?e'); });
正则表达式
// 匹配任何路径中含有 a 的路径: app.get(/a/, function(req, res) { res.send('/a/'); }); // 路由中的正则表达式,可以使用分组捕获,程序中使用req.params[0],req.params[1]来获取 app.get(/student([\d]{1})\/class([\d]{2})$/,function( req,res ){ console.log( req.params[0],req.params[1] ); });
表单提交
表单提交到本身页面 // restful 路由设计
/* 概念: /student get // 读取学生信息 // app.get('/student/:id',function(){}); add // 添加学生信息 // app.add('/student/:id',function(){}); delete // 删除学生信息 // app.delete('/student/:id',function(){}); 问题:web网页中,大部分处理get和psot请求处理。 其它的服务,可以是从软件,或者app发出请求。一般restful是提供给app。 */ app.get('/',function( req,res ){ res.render('form.ejs'); }); app.post('/',function( req,res ){ res.send('form表单提交'); });
中间件
中间件middleware ,少了一层回调。
所有的中间件,都将作为www.npmjs.com/package/ejs%5D
var express = require('express'); var app = express(); // 设置模板引擎,设置为ejs app.set('view engine','ejs'); // 路由 app.get('/',function( req,res ){ //render: 第二个参数是,字典。 res.render('index.ejs',{ 'name': [ting,daie] }); }); app.listen(1221);
对应的模板为:
<ul> <% for( var i=0; i<name.length; i++ ){ %> <li><%=name[i]%></li> <% } %> </ul>
默认的视图文件夹,views。如果不想使用默认的 app.set('views','./shitu');
希望本文所述对大家node.js程序设计有所帮助。

