express是什么?
Express.js 是一个基于 Node.js 平台的 Web 应用程序框架,它旨在帮助开发者轻松构建和管理 Web 服务和应用程序。Express 提供了许多强大的功能,使得创建可扩展、灵活且高性能的 Web 应用变得相对容易。
安装Express步骤
确保已经安装了 Node.js 和 npm,使用npm创建express项目
// 步骤一,安装express包
npm i express -g// 步骤二,安装express-generator包
npm i express-generator -g
使用express-generator生成express项目
// node-api是项目名称
express --no-view node-api// 使用cd进入创建的项目文件,例如
cd node-api//进入项目文件后初始化项目
npm i
配置跨域,安装cors模块,可参照
// 安装命令
npm i cors --save// 在app.js文件中引入cors模块并使用,例如
var express = require("express");
var path = require("path");..........
..........// 在这里引入即可
var cors = require("cors");var indexRouter = require("./routes/index");
var usersRouter = require("./routes/users");var app = express();
// 在这里使用
app.use(cors());.........
.........module.exports = app;
安装nodemon这个包
npm i nodemon -D
然后修改package.json中的配置,修改成nodemon
"scripts": {"start": "nodemon ./bin/www"},
经过此步骤后,查看是否能启动这个服务器
// 启动命令/控制台启动
nodemon
安装mongoose步骤
进入mongoose官网:Mongoose.js中文网
安装mongoose
npm i mongoose -S
在mongoose.com中将以下代码放在app.js中
// app.js文件
var express = require("express");
var path = require("path");..........
..........var cors = require("cors");
// 在此处引入
const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/数据库集合名');var indexRouter = require("./routes/index");
var usersRouter = require("./routes/users");var app = express();
app.use(cors());.........
.........module.exports = app;
在routes/index.js文件中创建集合配置字段类型
..........const mongoose = require("mongoose");
const Product = mongoose.model("Product", { name: String, price: Number });// 使用这行命令添加几条数据/记得注释掉(不然会一直添加 )
Product.create({name:'板子',price:123
})
下面进行功能测试,增删改查
添加数据
// 添加
router.post("/", async function (req, res, next) {const product = new Product(req.body);const result = await product.save();res.json({code: 200,message: "success",data: result,});
});
搜索查询分页
// 搜素,排序,分页
router.get("/", async function (req, res, next) {const page = req.query.page || 1;const limit = req.query.limit || 2;const skip = (page - 1) * limit;const searchName = req.query.name || "";const products = await Product.find().where({ name: searchName }).skip(skip).limit(limit).sort({ price: 1 });res.json({code: 200,message: "success",data: products,});
});
修改数据
// 修改
router.post("/:id", async function (req, res, next) {const id = req.params.id;await Product.updateOne({ _id: id }, req.body);res.json({code: 200,message: "success",});
});
删除数据
// 删除
router.delete("/:id", async function (req, res, next) {const id = req.params.id;const result = await Product.findOneAndDelete({ _id: id });res.json({code: 200,message: "del success",});
});