Express框架基础

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");
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值