express是什么?
Express.js 是一个基于 Node.js 平台的 Web 应用程序框架,它旨在帮助开发者轻松构建和管理 Web 服务和应用程序。Express 提供了许多强大的功能,使得创建可扩展、灵活且高性能的 Web 应用变得相对容易。
安装Express步骤
确保已经安装了 Node.js 和 npm,使用npm创建express项目
javascript
// 步骤一,安装express包
npm i express -g
// 步骤二,安装express-generator包
npm i express-generator -g
使用express-generator生成express项目
javascript
// node-api是项目名称
express --no-view node-api
// 使用cd进入创建的项目文件,例如
cd node-api
//进入项目文件后初始化项目
npm i
配置跨域,安装cors模块,可参照
javascript
// 安装命令
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这个包
javascript
npm i nodemon -D
然后修改package.json中的配置,修改成nodemon
javascript
"scripts": {
"start": "nodemon ./bin/www"
},
经过此步骤后,查看是否能启动这个服务器
javascript
// 启动命令/控制台启动
nodemon
安装mongoose步骤
进入mongoose官网:Mongoose.js中文网
安装mongoose
javascript
npm i mongoose -S
在mongoose.com中将以下代码放在app.js中
javascript
// 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文件中创建集合配置字段类型
javascript
..........
const mongoose = require("mongoose");
const Product = mongoose.model("Product", { name: String, price: Number });
// 使用这行命令添加几条数据/记得注释掉(不然会一直添加 )
Product.create({
name:'板子',
price:123
})
下面进行功能测试,增删改查
添加数据
javascript
// 添加
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,
});
});
搜索查询分页
javascript
// 搜素,排序,分页
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,
});
});
修改数据
javascript
// 修改
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",
});
});
删除数据
javascript
// 删除
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",
});
});