Express 安装,路由学习
目录
Express安装
nodejs 版本 4.4.5
express版本 4.13.1
安装express-generator
C:\>npm install -g express-generator
创建app目录
C:\>express myapp
在app目录执行npm install
C:\myapp>npm install
启动
C:\myapp>npm start
访问网址 localhost:3000 显示 Welcome to Express
Express路由
express的路由方法和http的请求方法相对应,app.get函数对应于http get方法,app.post函数对应于http post方法. get和post方法对路径严格匹配,而use方法只要以此路径开头即可.
app.get(path, callback [, callback ...])
在app.js的错误处理之前加上如下代码 目前还不清楚为什么放在错误处理之后不可以
app.get('/get', function(req, res, next){
res.write('get method');
res.end();
});
- 访问 http://localhost:3000/get 执行正确
- 访问 http://localhost:3000/get?a=1 执行正确
- 以post方式提交表单到
/get
执行失败, 404 Not Found
app.post(path, callback [, callback ...])
在app.js的错误处理之前加上如下代码
app.post('/post', function(req, res, next){
res.write('post method');
res.end();
});
并且在public目录下新建一个test.html, 里面简单的写一个表单
<form action="post" method="post">
<input type="text" name="name">
<input type="submit">
</form>
- 访问 http://localhost:3000/test.html 提交表单 执行正确
- 访问 http://localhost:3000/post?a=1 执行失败 404 Not Found
- 将表单的method改为get方式, 执行失败
app.use([path,] function [, function...])
在app.js的错误处理之前加上如下代码, 并将test.html的action改为use
app.use('/use', function(req, res, next){
res.write('use method');
res.end();
})
- 访问 http://localhost:3000/use?a=1 执行正确
- 访问 http://localhost:3000/test.html 提交表单 执行正确