什么是express框架?
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:
1、可以设置中间件来响应 HTTP 请求。
2、定义了路由表用于执行不同的 HTTP 请求动作。
3、可以通过向模板传递参数来动态渲染 HTML 页面。
输入npm install express --save
进行安装,安装完express之后接着安装下面的模块:
最简单的express框架实例:
var express = require('express')
app = new express()
app.get('/', function(req, res) {
console.log("欢迎")
})
var server = app.listen(8081, function() {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为:http://%s:%s", host, port)
})
前两行代码先把express模块给引入,然后使用express模块生成一个web,这里起名为app。
接着使用app.get()方法对web进行访问,app.get(path, callback):第一个参数为要请求的路径,第二个参数为回调函数。
然后定义一个server变量监听这个web服务器。
为什么网页上一直加载不出来,求教???
我们可以用express框架做一个简单的路由:
var express = require('express');
var app = express();
// 主页输出 "Hello World"
app.get('/', function (req, res) {
console.log("主页 GET 请求");
res.send('GET请求');
})
// POST 请求
app.post('/', function (req, res) {
console.log("主页 POST 请求");
res.send('POST请求');
})
// /del_user 页面响应
app.get('/del_user', function (req, res) {
console.log("/del_user 响应 DELETE 请求");
res.send('删除页面');
})
// /list_user 页面 GET 请求
app.get('/list_user', function (req, res) {
console.log("/list_user GET 请求");
res.send('用户列表页面');
})
// 对页面 abcd, abxcd, ab123cd, 等响应 GET 请求
app.get('/ab*cd', function(req, res) {
console.log("/ab*cd GET 请求");
res.send('正则匹配');
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})
运行后切换到不同页面,控制台会输出每一个路由里console.log
的内容,查看网页可以看到res.send
的内容。
一个简单的GET请求:
app.get('/process_get', function(req, res) {
var response = {
"user": req.query.user,
"password": req.query.password
};
console.log(response);
res.end(JSON.stringify(response));
});
var server = app.listen(8081, function(req, res) {
var host = server.address().address;
var port = server.address().port;
console.log("应用实例,访问地址为 http://%s:%s", host, port);
})
html代码:
<html>
<body>
<form action="http://127.0.0.1:8081/process_get" method="GET">
user: <input type="text" name="user"><br>
password: <input type="text" name="password">
<input type="submit" value="Submit">
</form>
</body>
</html>
打开127.0.0.1:8081,里面会有一个静态文件index.html是通过express.static('public')
方法所加载的,输入完用户名和密码之后点击提交按钮,express将刚才所填的内容转换为JSON格式后显示出来。
在网页和控制台里都能看到表单提交的内容。POST方法与GET方法大同小异,这里就不写出来了。