文章目录
Express框架基础
简介
Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。 我们前面使用http模块能创建web服务器,express也能搭建web服务器,因为express是基于内置的http模块进一步封装起来的,使用起来会更简单和灵活。
基础使用
npm install express@版本号
建议设置好版本号,避免出问题
- npm install express@4.17.1
- 01.js代码如下:
const express = require("express");//导入express框架
const app = express();//搭建web服务器
//启动服务
app.listen(80, () => {
console.log("服务已经启动127.0.0.1");
});
express的get和post请求
const express = require("express");
const app = express();
// 发送get请求
app.get("/user", (req, res) => {
res.send({ code: 200, msg: "响应get请求成功", status: 1 });
});
// 发送get请求
app.post("/user", (req, res) => {
res.send({ code: 200, msg: "响应post请求成功", status: 1 });
});
app.listen(80, () => {
console.log("服务已经启动127.0.0.1");
});
get请求获取参数req.query
post请求获取参数req.body
静态资源
express.static()这个方法可以指定静态资源,我们平常写的css或者image等静态资源文件夹就可以对外开放了。
路由
定义
路由指的是客户端的请求和服务器处理函数之间的映射关系。
app.get("/user", (req, res) => {
let msg = req.params;
res.send({ code: 200, msg: msg, status: 1 });
});
app.get("/product", (req, res) => {
let msg = req.params;
res.send({ code: 200, msg: msg, status: 1 });
});
也就是说像上面这种,浏览器发送过来不同的请求地址以后,express框架会根据路由地址的不同,分发给不同回调处理函数进行处理。
上面的写法把路由直接挂载在app上,如果项目的路由比较多的情况下会造成代码的拥挤,所以我们把路由单独抽离成一个模块。
路由模块
定义
路由指的是客户端的请求和服务器处理函数之间的映射关系。
路由模块
路由前缀
node连库
const mysql = require("mysql");
const db = mysql.createPool({
host: "localhost",
user: "root",
password: "root",
database: "test"
});
console.log(db);
db.query("select * from users", (err, results) => {
if (err) {
return err.message;
}
console.log(results);
});
node连库的增删改查
增加功能
const mysql = require("mysql");
const db = mysql.createPool({
host: "localhost",
user: "root",
password: "root",
database: "test"
});
console.log(db);
let user = { username: "武伟", password: "666" };
let sql = "insert into users (id,username,password) values (NULL,?,?)";
db.query(sql, [user.username, user.password], (err, results) => {
if (err) {
return err.message;
}
console.log(results);
if (results.affectedRows == 1) {
console.log("插入成功");
}
});
更新
const mysql = require("mysql");
const db = mysql.createPool({
host: "localhost",
user: "root",
password: "root",
database: "test"
});
let user = { id: 11, username: "new武伟", password: "777" }; //要更新的数据
let sql = "update users set username=?,password=? where id=?";
db.query(sql, [user.username, user.password, user.id], (err, results) => {
if (err) {
return err.message;
}
console.log(results);
if (results.affectedRows == 1) {
console.log("更新成功");
}
});
删除
const express = require("express"); //1、引入框架
const app = express(); //2.创建服务实例
// 设置静态资源模板
app.use(express.static("./test"));
// 可以根据不同的请求做不同的处理 请求方式、请求地址、响应数据
app.get("/product", (req, res) => {
res.send("hello");
});
// 3、启动服务
app.listen("80", () => {
console.log("服务已经启动了 127.0.0.1");
});