快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

复习

其实复习一次的作用真实太大了,真的,自从上次ajax开始其实就开始i有点懵懵懂懂的感觉,一直拖想到了node在去回顾一遍,这一次回去复习,ajax已经很熟练了,node之前搞不懂那些原理也顺清楚了好多,其实这次复习没有什么需要说的知识点,因为要说的前面都说过了,我来说一下这个做的一个大项目吧,这个项目真的,应该是我不熟练的愿意那边,就是用express写接口,用postman来测试,三个模块,三个数据库,基本上都在我的代码里面了,写的很详细步骤,用到的技术,基本上是用node的express模块,去写接口,然后中途中到了一些中间件,比如规定语义规则的joi,比如给密码解码加密的bcryptjs,我做了一天才做下来这一个案例

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、成都外贸网站建设公司、苍溪网络推广、成都小程序开发、苍溪网络营销、苍溪企业策划、苍溪品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供苍溪建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

一个项目初试化,首先要创立一个单独的项目文件夹,然后终端npm init直接安装package.json,api.js接口文件,路由模块创立一个文件夹夹,路由函数又要分为一个模块,再把数据库创立好,基本就可以开始完成功能需求了,用后端node完成增删改查

项目文件分类:

1

接口文件

// 1.初始化
// 1.1创建项目
const express = require('express')
const app= express()
// 1.2配置跨域
const cors = require('cors')
app.use(cors())
// 1.3配置解析表单中间件
// 错误点:记住要有参数
app.use(express.urlencoded({extended : false}))

// 2.3因为后面处理函数用到了很多res.send所以封装为一个全局中间件,给res绑定一个函数,那后面的中间件路由都可以用到这个函数了
app.use((req, res, next) => {
    res.cc= function(err, status = 1) {
        res.send({
            status,
            msg : errinstanceof Error ? err.message : err
        })
    }
    next()
})

// 2.4.6配置解析token的中间件
const expressJWT = require('express-jwt')
const secretKey= require('./secretKey')
app.use(expressJWT({secret : secretKey.secretKey, algorithms : ['HS256']}).unless({path : [/^\/api\//]}))

// 1.4.4导入路由模块
const routerUser = require('./router/user')
const Joi= require('joi')
const { expressjwt }= require('express-jwt')
const { path }= require('express/lib/application')
app.use('/api', routerUser)
// 3.1.1个人中心路由导入
const infoRouter = require('./router/userinfo')
app.use('/my', infoRouter)

// 4.1.2文章管理导入
const article = require('./router/acticle')
app.use('/my/article', article)

// 5.1.2发布文章路由导入
const cates = require('./router/cate')
app.use('/my/article', cates)

// 2.2.3定义规则joi的错误级别中间件
app.use((err, req, res, next) => {
if (err instanceof Joi.ValidationError) return res.send(err.message)
// 2.4.7增加jwt错误中间件
    if (err.name == 'UnauthorizedError') return res.cc('身份认证失败')
return res.send('其他错误')
})


app.listen(80, () => {
    console.log('http://127.0.0.1');
})

文章名称:复习
转载来源:http://6mz.cn/article/dsojpjc.html

其他资讯