Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架(集成web服务器+mvc),它提供一系列强大的特性,帮助你创建各种 Web 应用(相当于原生js与jQuery的关系),当然其实不用框架,使用node自己弄一个web服务器和mvc框架也不是很麻烦(Node为网络而生,当然强大的不止这点),但是有优秀的express,封装了很多常用功能,推荐用。
1.在项目根目录下cnpm init创建package.json
2.安装express --save
3.创建程序入口文件(main) 例express.js:
var express = require("express"); //加载express构造函数
var app = express(); //生成创建服务的实例
var bodyParser = require("body-parser");//获取post请求参数
app.use(express.static("statics"));//指定资源路径
app.use(bodyParser.json());//处理以json格式的提交
app.use(bodyParser.urlencoded({//处理以form表单的提交
extended: true
}))
//路由
app.get("/", function(req, res){//这里res和req对象是由express封装过的了
res.send(`<p>
my first express!
</p>`);
})
app.post("/re.html", function(req, res){
console.log(req.body)//请求的参数对象
res.json({//给前端返回json格式的数据
code: 0,
msg: "登录成功"
})
})
app.listen(8848, ()=>{
console.log("启动成功");
})
路由(Routing):是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问如何定义:
app.METHOD(PATH, HANDLER)。其中,app 是一个 express 实例;METHOD 是某个 HTTP 请求方式中的一个;PATH 是服务器端的路径;HANDLER 是当路由匹配到时需要执行的函数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页</title>
</head>
<body>
<h1>哈哈哈哈</h1>
<form>
<label for="txt">username</label><br/>
<input id="txt" type="text" name=""></br>
<label for="pwd">password</label></br>
<input id="pwd" type="password" name="">
<button>登录</button>
</form>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$("button").click(function(e){
e.preventDefault();
$.post("/re.html", {//该ajax请求指向的是后台路由(express.js中的路由)
username: $("#txt").val(),
password: $("#pwd").val()
}, function(data){
console.log(data)
})
})
</script>
</body>
</html>