NodejsExpressMongoDB项目的搭建01

导读:本篇文章讲解 NodejsExpressMongoDB项目的搭建01,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.创建Express项目框架

express --view=ejs express-demo  // 需要模板时
/*
	express --no-view express  // 不需要模板时
*/

NodejsExpressMongoDB项目的搭建01
2.进入到项目目录中

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 来运行
*/

NodejsExpressMongoDB项目的搭建01
这样就表示项目已经运行起来了

7.浏览器访问项目

localhost:3000  // 默认为3000端口

NodejsExpressMongoDB项目的搭建01
8.初识MVC设计模式
在这里插入图片描述
在这里插入图片描述

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
  1. 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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!