Node.js Express

15 express

1.问题

node http创建服务繁琐

代码不美观,代码量多

2.express

  1. 封装服务器

  2. 快速搭建后端项目

3.如何使用

安装

javascript 复制代码
npm i express

4.创建服务

javascript 复制代码
// 1.导入express
const express = require('express')
​
// 2.创建服务
const app = express()
​
// 3. 监听请求
app.get('/', function (req, res)  {
    // 向前端响应数据
    res.send('hello world')
})
​
// 4.启动服务
app.listen(3000, function () {
    console.log('服务已移动,您可以访问3000端口啦');
})

5.获取请求参数

req.query (get请求) / req.body(post请求)

对于post请求

1.安装 body-parse

javascript 复制代码
npm i body-parser

express生成器

1.开发后端项目,需要搭建后端项目结构

  1. express-generator 解决上述问题

2.全局下载express-generator

bash 复制代码
npm i express-generator -g 

3.快速创建项目

javascript 复制代码
express --view=pug myapp
express myapp
​
cd myapp  进入项目根目录
​
yarn / npm i   安装依赖

项目目录说明

复制代码
bin  服务
node_modules  第三方包
public  存放静态资源 图片 样式等
routes  存放路由
views   存放html页面
app.js  项目入口
package.json  npm配置
yarn.lock  yarn 安装包  会生成一个yarn.lock   

注册接口

1.创建users表

sql 复制代码
create table users (
  id int not null primary key auto_increment,
  username varchar(30) not null,
  password varchar(30) not null,
  phone  varchar(11) not null,
  smscode varchar(10) not null,
  email varchar(30)
)

2.在routes/users目录新增注册

1.封装query

javascript 复制代码
const mysql = require('mysql')
const pool = mysql.createPool({
    connectionLimit:10,
    host:'localhost',
    user:'root',
    password:'lzg123',
    database:'py'
})
​
function query (sql) {
    return new Promise(function (resolve, reject) {
        pool.getConnection(function (err, connection) {
            console.log(sql,'sql');
            connection.query(sql, function (err, data) {
                 connection.release();
                 if (err) return;
                 resolve(data)
             })
        })
    })
}
​
module.exports = query;

2.在routes/users.js 新增post请求的注册接口

javascript 复制代码
var query = require('../db/query')
// 注册 post请求
router.post('/register', async function (req, res) {
   // 获取请求参数
   const { username, password, phone,smscode } = req.body
   if (!username || !password || !phone ) res.send({
     status:400,
     message:'请求参数有误'
   })
   
  //  插入用户信息到users
  let sql = `insert into users (username, password, phone,smscode) values('${username}', '${password}','${phone}','${smscode}')`;
  await query(sql)
  res.send({
    status:200,
    message:'注册成功'
  })
   
})
相关推荐
FungLeo5 小时前
成为全栈·Node 后端篇·容器化:给 Node 应用写一个像样的 Dockerfile
docker·node.js·dockerfile·成为全栈·后端服务容器·docker 容器
WeiXin_DZbishe8 小时前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
xixiaoyunya11 小时前
Docker 容器化部署实战:从零搭建一套完整的 Nginx + Node.js + MySQL + Redis 项目环境
nginx·docker·node.js
晴天1611 小时前
npm install -f(--force)深度解析:作用原理、报错根源与风险避坑指南
前端·npm·node.js
还是大剑师兰特11 小时前
Swagger 在 Node.js 项目中的安装和完整使用方法
node.js
FungLeo17 小时前
成为全栈·Node 后端篇·全文搜索:从 LIKE 到全文索引
node.js·全文索引·模糊搜索·全文搜索·成为全栈·like 搜索
倾颜1 天前
AI Chat 长会话性能实践:消息虚拟化、动态高度与流式滚动设计
前端·react.js·node.js
FungLeo1 天前
成为全栈·Node 后端篇·接口文档自动化:让 OpenAPI 与代码不脱节
node.js·openapi·成为全栈·接口文档自动化
右耳朵猫AI1 天前
Node.js周刊2026W36 | NestJS 12发布、Remix 3 RC、pnpm 12 Rust重写、Node.js 26.8.0
开发语言·rust·node.js
www_aiyuanma_vip1 天前
实验室设备借用系统
node.js