Express 总结
执行:npm install -g express-generator

我们可以查看express的版本,通过npm ls查看express和它的依赖的树形结构

var express=require('express');
var app=express();
app.listen(8080);
var express=require('express');
var https=require('https');
var http=require('http');
var fs=require('fs');
var options={
host:'127.0.0.1',
key:fs.readFileSync('ssl/server.key'),
cert:fs.readFileSync('ssl/server.crt')
};
http.createServer(app).listen(80);
https.createServer(options,app).listen(443);
app.get('/',function(req,res){
res.send('Hello, Express');
});
app.get(path,[middleware],callback)
app.post(path,[middleware],callback)
app.all('*',function(req,res){
//全部路径的全局处理程序
});
var express=require('express');
var url=require('url');
var app=express();
app.get('/find',function(req,res){
var url_parts=url.parse(req.url,true);
var query=url_parts.query;
res.send('Finding Book:Author: '+query.author+' Title: '+query.title);
});
app.get(/^\/book\/(\w+)\:(\w+)?$/,function(req,res){
res.send('Get Book: Chapter: '+req.params[0]+' page: '+req.params[1]);
});
app.get('/user/:userid',function(req,res){
res.send('Get User: '+req.param('userid'));
});
app.param(param,function(req,res,next,value){})
app.get('/json',function(req,res){
app.set('json spaces',4);
res.json({name:'bob',built:'1223',centers:['art','maths']});
});
app.get('jsonp',function(res,req){
app.set('jsonp callback name','cb');
res.jsonp({name:'bob',built:'1223',centers:['art','maths']});
});
res.sendFile(path,[options],[callback])
app.get('/image',function(req,res){
res.sendFile('arch.jpg',{maxAge:1, //24*60*60*1000
root:'./views'},
function(err){
if(err){
console.log('Error');
}else{
console.log('Success');
}
});
});
res.download(path,[filename],[callback])
res.redirect(path);
app.get('/google',function(req,res){
res.redirect('http://google.com');
});
var express = require('express');
var app = express();
var index = require('./routes/index');
var users = require('./routes/users');
app.use('/', index);
app.use('/users', users);
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.send('hello,index');
});
module.exports = router;
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;

运行结果:



router.get('/ab*cd',function(req,res){
console.log('/ab*cd GET请求');
res.send('正则匹配');
});

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form method="post" action="http://localhost:3000/">
<input type="submit" value="访问" />
</form>
</body>
</html>

点击访问后出现:

var app=express();
app.set('views','./views'); //也可以写成app.set('views',path.join(_dirname,'views'));即根目录下的views文件夹下
app.set('view engine','jade');
var express = require('express');
var app = express();
var path = require('path');
//指明模板目录:./views
app.set('views', path.join(__dirname, 'views'));
//使用ejs引擎
app.set('view engine', 'ejs');
var express = require('express');
var router = express.Router();
//寻找views/index,提交ejs渲染,并返回结果
router.get('/', function(req, res, next) {
res.render('index',{title:'express'});
});
module.exports = router;
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
</html>


app.use(express.static(path.join(__dirname, 'public')));

<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
</html>
body {
padding: 50px;
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
color: #00B7FF;
}

var express=require('express');
var bodyParser=require('body-parser');
var app=express();
app.use('/',bodyParser());
var express=require('express');
var bodyParser=require('body-parser');
var app=express();
app.get('/parseRoute',bodyParser(),function(req,res){
//function
});
var express=require('express');
var bodyParser=require('body-parser');
var cookieParser=require)('cookie-parser');
var session=require('express-session');
var app=express();
app.use('/',bodyParser()).use('/',cookieParser()).use('/',session());
Express 总结的更多相关文章
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- 【原】无脑操作:express + MySQL 实现CRUD
基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...
- Express 教程 01 - 入门教程之经典的Hello World
目录: 前言 一.Express?纳尼?! 二.开始前的准备工作 三.测试安装之经典的Hello World 四.使用express(1)来生成一个应用程序 五.说明 前言: 本篇文章是建立在Node ...
- VisualStudio 2015 开启IIS Express可以调试X64项目
现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢. 如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 ...
- Node.js Express连接mysql完整的登陆注册系统(windows)
windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...
- Node.js实现RESTful api,express or koa?
文章导读: 一.what's RESTful API 二.Express RESTful API 三.KOA RESTful API 四.express还是koa? 五.参考资料 一.what's R ...
- express全局安装后无法通过require使用
今天入门了一下express,首先安装依赖. npm install express -g; npm install body-parser -g; npm install cookie-parser ...
- 初步认识Node 之Express
通过本文,你会对Express有一个较为具体的了解. 起源 2009年6月26日,TJ Holowaychuk提交了Express的第一次commit,接下来在2010年1月2日,有660次co ...
- 安装nodejs express框架时express命令行无效
我也是看了这篇才明白.http://jingyan.baidu.com/article/922554468a3466851648f419.html 最近在看一本书,nodejs开发指南.至于出现这个问 ...
- 从express源码中探析其路由机制
引言 在web开发中,一个简化的处理流程就是:客户端发起请求,然后服务端进行处理,最后返回相关数据.不管对于哪种语言哪种框架,除去细节的处理,简化后的模型都是一样的.客户端要发起请求,首先需要一个标识 ...
随机推荐
- is和as在类型转换时的性能差异
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xxdddail/article/details/36655219 is和as是.NET中经常使用的操 ...
- 关于mysql 出现 1264 Out of range value for column 错误的解决办法
今天给客服恢复mysql数据的时候.本来测试好的数据.但是到了客户那里却死活不干活了.老报错! INSERT INTO ka_tan4 set num='716641385999', username ...
- 算法 - 给出一个字符串str,输出包含两个字符串str的最短字符串,如str为abca时,输出则为abcabca
今天碰到一个算法题觉得比较有意思,研究后自己实现了出来,代码比较简单,如发现什么问题请指正.思路和代码如下: 基本思路:从左开始取str的最大子字符串,判断子字符串是否为str的后缀,如果是则返回st ...
- 教你使用 Reflexil 反编译.NET 转
转自:http://www.wxzzz.com/711.html http://sebastien.lebreton.free.fr/reflexil/ http://www.aneasystone. ...
- win7系统安装VS2013后,连不上远程sqlserver数据库解决办法
刚搬了地方,顺便把电脑重做了系统,把sql2012和vs2013装好,怎么弄也连不上远程的数据库了,用程序连IIS直接死掉,用ssms连也是直接失去响应,开始以为是网线端口被运营商封杀了,最后发现不是 ...
- The Linux Kernel
- 防sql注入攻击
这两天看了个防sql注入,觉得有必要总结一下: 首先需要做一些php的安全配置: 1 在php.ini 中把display_errors改成OFF display_errors = OFF 或在php ...
- LeetCode22.括号生成 JavaScript
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为: [ "((()))", "(()())& ...
- 协议类接口 - LCD
一.引脚含义 下图为某LCD相关引脚: 从引脚可以大概看出其SoC的连接情况: 1)VCLK为时钟,每一次像素就移动一次 2)HSYNC/VLINE 3)VSYNC/VFRAME 4)VD0 - VD ...
- http://imgbase64.duoshitong.com/ 图片转换 base64
base64图片工具介绍: 1.支持 PNG.GIF.JPG.BMP.ICO 格式. 2.将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页.编辑器中. 这对于一 ...