1.创建Express项目框架
express --view=ejs express-demo // 需要模板时
/*
express --no-view express // 不需要模板时
*/
cd express-demo
3.把你的前端代码放在public
目录里
4.安装依赖包
yarn // 或者 npm install
5.修改package.json
里的scripts
字段
"scripts": {
"start": "nodemon ./bin/www" // 可以自定义命,这里node改为nodemon,它将会监视源文件中任何的更改并自动重启服务器
}
6.运行脚本
yarn start // 或者 npm start
/*
start是一个特殊指令,用npm start 或者 yarn start 来运行
普通的指令用 npm run [自定义命令的名字] 或者 yarn run 来运行
*/
7.浏览器访问项目
localhost:3000 // 默认为3000端口
Model层 --- 数据的增删改查,与数据库打交道(模型层)
View层 --- 数据的可视化,页面显示(视图层)
controller层 --- 处理业务逻辑,最重要的一层,起到承上启下的作用(控制器)
如果视图更新了,就进入到Controller层,处理一些业务逻辑、for循环等,如果需要操作数据,就调用Model层的操作数据库方法,
在Model层里操作完数据后将结果返回给Controller层,Controller层拿到Model层返回的结果后进行一些加工和处理,再把结果返回给View层
9.项目目录
10.项目运行后,前端需要通过接口向后端发送请求来取数据
11.接口文档
request:
url: /api/shop/list
method: get
query:null
response:
属性名 | 含义 | 示例值 | 类型 |
---|---|---|---|
code | 请求成功与否编码,200代表成功,400代表失败 | 200 | number |
body | 响应主体信息 | object | |
– list | 商品列表 | array | |
– _id | 商品id | fherth53e | string |
– name | 商品名称 | 键盘 | string |
– price | 商品价格 | 2000 | number |
– num | 商品数量 | 1 | number |
12.后端配置接口 routes / api.js
const express=requires('express')
const router=express.Router()
module.exports=router
app.js
var apiRouter = require('./routes/api');
app.use('/api', apiRouter);
//这是一个路由,前端请求以api开头的就进入到apiRouter这个路由里
// use是中间件
14.接收前端的 shop/list
请求,并给前端发送响应routes / api.js
router.get('/shop/list',()=>{
resp.send("list")
})
15.新建文件夹controller
,在controller
里新建一个shop.js
文件,这个文件夹是用来处理业务逻辑的
16.在shop.js
里接收来自api.js
的请求,返回响应
controller/shop.js
//获取所有的商品列表
const getAllShop=(req,resp)=>{
}
//把他暴露出去
module.exports = {
getAllShop
}
api.js
// 获取getAllShop的对象
const { getAllShop} = require('../controller/shop')
router.get('/shop/list', getAllShop);
17.新建文件夹model
,在model
里新建一个shop.js
文件,这个文件夹里的东西是用来处理数据的,连接数据库,对数据的增删改查
shop.js
// 查询所有商品
const findShop = () => {
// 这里写从数据库查询数据的代码,增删改也一样
}
module.exports = {
findShop
}
18.controller层里引入并调用(17)里的findShop方法
const { findShop} = require('../model/shop')
//获取所有的商品列表
const getAllShop=(req,resp)=>{
findShop()
}
//把他暴露出去
module.exports = {
getAllShop
}
19.前端发送请求以及后端响应的过程
1.浏览器向前端发一个请求 $.get('/api/shop/list')
2.服务器中app.js里分配路由,然后进入到api.js,这里需要getAllShop方法查询数据,getAllShop来自controller
3.进入到controller/shop,只负责处理业务逻辑,需要findShop来查询数据
4.进入model/shop,拿到list,返回给contrller/shop一个处理结果
5.进入controller/shop,拿到list这个结果,然后根据这个list构造出一个json文件
6.然后把json文件返回给前端浏览器
7.浏览器接收list,前端根据json数据渲染页面
20.连接MongoDB数据库
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/4568.html