15 express
1.问题
node http创建服务繁琐
代码不美观,代码量多
2.express
-
封装服务器
-
快速搭建后端项目
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.开发后端项目,需要搭建后端项目结构
- 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:'注册成功'
})
})