本文共 1215 字,大约阅读时间需要 4 分钟。
EggJs 提供了灵活的扩展机制,允许开发者在特定功能模块中添加自定义逻辑。这种扩展方式通过在应用主目录下创建 extend 文件夹完成。
申请配置需要注意以下几点:
extend 文件夹application.js、context.js、request.js 和 response.js 文件// application.jsmodule.exports = { foo: (params) => { console.log('extend-app: 我是扩展方法'); }} 多个模块(如Controller、Middleware、Helper、Service)均可通过 this.app 调用扩展方法。
// context.jsmodule.exports = { getHost: () => { const host = ctx.request.headers.host; console.log('extend-ctx: ', host); return host; }} ctx 方法访问class HomeController extends Controller 或方法式直接传入 ctx 参数this.ctx 获取 Context 对象// application.jsmodule.exports = { formatDate: (date) => { const time = '2012'; console.log('time: ', time); return time; }} this.ctx.helper.formatDate(...)<%= helper.formatDate(list[i].dateline) %> 格式// request.jsmodule.exports = { rfn: () => { console.log('我是extend-request的方法'); }} this.ctx.request.rfn()通过以上方法,开发者可以根据项目需求灵活扩展 EggJs 应用功能,同时确保扩展与框架集成无缝。
转载地址:http://ehbgz.baihongyu.com/