18.Egg.js教程-Egg.js的Extend-response、helper
本文是 Extend(扩展)的最后一节,主要讲一下 response 对象和 helper 对象的扩展。
编写 Respose 扩展
在/app/extend文件夹下,新建立一个response.js文件。我们的需求是和上节课向对应的,作一个设置 token 的扩展。打开response.js文件,编写下面的代码。
module.exports={
set token(token){
this.set('token',token)
}
};
需要设置的方法以set关键字开头,然后用this.set( )就可以设置返回的token了。
编写使用方法和路由
在/app/controll/mybj.js文件下,新建一个方法。然后用response.token来设置 token 的值。
async newResponse(){
const {ctx} = this;
ctx.response.token='mybj123.com'
ctx.body = 'newRespose'
}
然后设置路由 router.js :
router.get('/newResponse',controller.mybj.newResponse);
在终端里开启服务npm run dev,然后输入http://127.0.0.1/newResponse。然后按F12打开浏览器的调试模式,然后进入Network标签,再次刷新浏览器,再选择All,点击newResponse。就可以看到token。
编写 helper 扩展
我们紧接着再来学一下helper对象的扩展。我们作一个把字符串进行base64加密的方法。在/app/extend/文件夹下,新建一个helper.js文件。
module.exports = {
base64Encode(str = ''){
return new Buffer(str).toString('base64');
}
}
虽然Buffer()方法显示已经弃用,但是你还是可以使用的。
使用 Helper 扩展
我们省事一点,直接在/app/controller/mybj.js文件中的newResponse方法里,直接使用。
async newResponse(){
const {ctx} = this;
ctx.response.token='mybj123.com'
const testBase64 = ctx.helper.base64Encode('mybj123.com')
ctx.body = testBase64
}
然后到浏览器,刷新一下页面。就可以看到输出的结果编程了 base64 加密的文字了。
以上关于18.Egg.js教程-Egg.js的Extend-response、helper的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 18.Egg.js教程-Egg.js的Extend-response、helper
微信
支付宝