零基础使用node+express搭建服务器流程

零基础使用node+express搭建服务器流程

前端-node+express

1.全局安装express脚手架

在安装了脚手架之后,可以通过
express + 项目名
直接快速创建后台服务

npm i -g express-generator

2. 创建express框架后台服务

这里会看见一堆create文件

express + 你的后台项目名称

3.下载依赖

进入刚刚创建的项目,cd + 项目名

下载之后才能启动这个express项目

npm i

4.运行服务

npm start

5.服务器就搭建好了

访问localhost:3000可以看到
在这里插入图片描述

6.安装express

在这个后台项目文件里

然后再输入一下代码

npm i express -S

————————————下面之后是连接数据库,创建路由内容————

7.创建连接数据库的文件 connectDB.js

这个文件你可以放哪里都行,我这里的数据库是mongodb,我直接放根目录下了
在这里插入图片描述

这里的exam,就是你自己创建的数据库

mongodb://localhost:27017/exam'
// connectDB.js

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/exam', {useNewUrlParser: true, useUnifiedTopology: true});

mongoose.connection.on('connected', ()=>{
    console.log(`数据库已经连接成功~~~`)
})

mongoose.connection.on('error', ()=>{
    console.log('数据库连接出错!!!')
})

mongoose.connection.on('disconnected',()=>{
    console.log('数据库连接已断开!!!~~~')
})

module.exports = mongoose

8.把数据库引入到app.js

只要在app.js添加一下代码,这里其实已经连接成功数据库了

// 引入mongodb数据库
require('./connectDB')

9.接下来写表的模型

就是表的字段,表的约束

在跟目录下创建models文件夹,在models文件夹下创建对应的模型
在这里插入图片描述

我这里的M_user.js

schema里面的内容就是你要定义表的表头,也就是字段

//M_user.js

/* 
    创建user用户模型
*/
const mongoose = require('mongoose')
const { Schema } = mongoose;

const userSchema = new Schema({
    user_id: {
        type: String,
        require: true,
    },
    password: {
        type: String,
        require: true,
    },
    user_name: {
        type: String,
        require: true,
    },
    sex: {
        type: String,
        enum: ['男','女'],
        default: '男'
    },
    phone: {
        type: Number,
        require: true,
    },
    school: {
        type: Number,
    },
    academy: {
        type: Number,
    },
    user_type: {
        type: Number,
        enum: [1, 2, 3],
        default: 1,
        require: true,
    }
});

module.exports = mongoose.model('users', userSchema)

10.把上面的模型引入到路由

在routes里面创建对应的路由(user.js)

我这里先创建api文件夹,然后放在里面
在这里插入图片描述

路由user.js

router.post(’/login’)是我写的一个接口

// user.js

const express = require('express')
const router = express.Router()

const mongoose = require('mongoose')
const User = require('../../models/M_user')

router.post('/login', (req, res) => {
    const user_id = req.body.user_id
    const password = req.body.password
    User.find({user_id, password}, (err, data) => {
        if (err) {
            res.status(404).json({status: 0, msg: '数据库出错'})
        }
        {
            if (data[0]) {
                res.json({status: 1, msg: '登录成功'})
            } else {
                res.status(404).json({status: 0, msg: '用户名或密码错误'})
            }
        }
    })
})


module.exports = router

11.把写好的路由引入到app.js

在app.js,写入一下代码
代码位置你可以参考原本写的地方

var userRouter = require('./routes/api/user')

app.use('/user', userRouter)

12.现在你就可以在前端写请求访问接口了

因为上面那种方式是在 /user 里面的 /login

所以这个接口在前端请求时为 /user/login,但具体前端页面跟这个没关系。

13.另外请求跨域问题

可以参考我另一篇文章

https://blog.csdn.net/jinzai9976/article/details/115877679?spm=1001.2014.3001.5501

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值