业务线--node中间层作一个透传的项目

1,node中间层总结vue

1,ejs引入vue的js,路由层(直接透传,自定义行的),比较浅层的一层node

 中间件的引入ios

const path = require( 'path')
const Koa = require( 'koa')
const views = require( 'koa-views')
const parser = require( 'koa-bodyparser')
const koaStatic = require( 'koa-static')
const koaMount = require( 'koa-mount')
const app = new Koa()
const { port, routerRoot } = require( './config/base')
const middlewares = require( './middlewares/index')
const register = require( './common/register')

// 公共数据
app. use( async ( ctx, next) => {
// ejs模版中使用该变量动态加载对应模版
ctx. state = { EJS_ENV: [ 'a', 'b', 'c']. indexOf( process. env. JZ_ENV) !== - 1 ? 'test' : process. env. JZ_ENV }
// 继续向下匹配路由
await next()
})
// 入口页-注意:必须放在路由注册前面
app. use( views( path. join( __dirname, './app'), {
extension: 'ejs'
}))
// post参数解析
app. use( parser())
// 自定义拦截器
middlewares( app)
// 模块注册
app. use( register. launch())
// 静态资源支持
app. use( koaMount( ` ${ routerRoot } /static`, koaStatic( path. join( __dirname, '../static'))))

app. listen( port)

优势,一、内网和内网访问更安全,速度更快,json

           二、微信小程序没有办法设置cookie,中间层解决这个问题,axios

           三、减小没必要要的发布,审核,中间层修改域名 ​​​​小程序

访问的接口错误的拦截微信小程序

axios. interceptors. response. use( response => {
let reqInfo = response. config
let isJsonResponse = !(( reqInfo. responseType && reqInfo. responseType !== 'json'))
let methods = reqInfo. method
let url = reqInfo. url
let params = reqInfo. params || ''
let data = reqInfo. data || ''
console. log( 'interceptors================================')
if ( isJsonResponse && response. data. code !== 0) {
// 与rd约定,接口成功返回code===0,其他为失败
console. log( 'response===========================' + response)
logger. warn( ` ${ methods } rd: ${ url } params: ${ JSON. stringify( params) } data: ${ JSON. stringify( data) } response: ${ JSON. stringify( response. data) } `)
logger. warn( `header: ${ JSON. stringify( reqInfo. headers) } `)
} else {
(
logger. info( `Success ${ methods } rd: ${ url } params: ${ JSON. stringify( params) } data: ${ JSON. stringify( data) } `)
)
}
return response
}, error => {
let reqInfo = error. config
let params = reqInfo. params || ''
let data = reqInfo. data || ''
logger. error( ` ${ reqInfo. method } ${ reqInfo. url } params: ${ JSON. stringify( params) } data: ${ JSON. stringify( data) } `)
return Promise. reject( error)
})
}

 注册路由,采用router.all安全

相关文章
相关标签/搜索