将express框架–>RMVC框架
1.新建express文件
express_RMVC
2.创建文件夹
controllers
models
3.在controllers文件夹下创建
indexController.js文件
将router中的function(req,res,next){ res.render('index',{title:'Express'}) }
拆分出来给indexController.js
module.exports=inedxController暴露出来
4.在routes中导入文件
const indexController=require(’‘文件位置’)
router.get(’/’,indexController.index)
5.终端命令 vrm
修改package.json中的start
改成监听:
1.cat package.json
2.i 写入
3.esc 退出
4.:wq 退出保存
6.给运行后写一个提示
bin文件夹下www文件
sever.listen(port,()=>{
console.log(`服务器运行在:http://localhost:${port}`)
})
7.在models文件夹下创建文件
indexModel.js 用来操作数据,作为数据接口
const indexModel={
msg:{title:"Express"}
}
module.exports={
idnexModel //键值对相同,可以省略
}
8.数据文件引入控制器文件
const {indexModel}=require(‘文件路径’)
res.render(‘index’,indexModel.msg)
9.注意views文件!!
不要忘记写views文件
记得改文件后缀名ejs!!!
mongoose操作
1.安装mongoose
npm i mongoose -S
2.const mongoose=require(‘mongoose’)
3.确保数据库启动
4.连接数据库
mongoose.connect('mongodb://127.0.0.1:27017/数据库名’)
5.给数据库连接做错误处理
(err)=>{
if(!err){
console.log('database connect success~~')
}else{
throw err;
}
}
6.Schema
//定义骨架
const Schema = mongoose.Schema;
const teachersSchema = new Schema({
id: Number,
name: String,
age: Number
});
//创建模型
const teacherModel = mongoose.model(‘teachers’, teacherSchema)
//创建实例
const teacherInstance = new teacherModel();
//1.数据的存储
teacherInstance.id = 7;
teacherInstance.name = ‘小明’;
teacherInstance.age = 25
teacherInstance.save((err) => {
if (!err) {
console.log(‘data save success~~’)
} else {
throw err;
}
})
//2.数据的查找
teacherModel.find({ age: 25 }, (err, result) => {
if (!err) {
console.log(‘search data success’)
console.log(result);
} else {
throw err;
}
})
//3.数据的删除
teacherModel.find({ age: 18 }, (err, result) => {
if (!err) {
const id = result[0]._id;
teacherModel.findById(id, (err, docs) => {
if (!err) { //删除成功
docs.remove(() => {
console.log(‘delete success~~’)
})
} else {
throw err;
}
})
} else {
throw err;
}
})
//4.数据的修改
teacherModel.find({ name: ‘yyb’ }, (err, res) => {
if (!err) {
const id = res[0]._id;
teacherModel.findById(id, (err, docs) => {
if (!err) {
docs.age = 100;
docs.save((err) => {
if (!err) {
console.log(‘data save success~~’)
} else {
throw err;
}
})
}
})
}
})
核心内容
- webServer
- apiServer( 后端工程师, 前端写接口 ) —》 测试工具(postman insomina )
- express
- koa
- express中一个路由就是一个接口
2.5. 玩架构思想
需求: 将express框架 —》 RMVC框架
RMVC
R —》 Router 路由
M —> Model 数据
V —> View 视图
C —> Controller 控制器(逻辑)
需求: 再打造一个接口 http://localhost:3000/login - mongodb(命令) --> 连接数据库、操作数据库 ----》mongoose
使用步骤: - 安装mogonose
npm i mongoose -S
- 导入
const mongoose = require('mongoose')
- 连接数据库
mongoose.connect('mongodb://主机名:端口/数据库名称')
举例:
mongoose.connect('mongodb://127.0.0.1:27017/1901')
- 存储数据步骤:定义Schema (骨架) > 创建model(模型)> Entity实例化方法。
- gulp搭建项目(跨域)
- MongoDB的可视化工具
Robo3T: https://robomongo.org/download
adminMongo: https://blog.csdn.net/yzy199391/article/details/80453349