博客
关于我
5.extend的详细用法
阅读量:732 次
发布时间:2019-03-21

本文共 1215 字,大约阅读时间需要 4 分钟。

EggJs 应用扩展技术指南

一、核心概念

1. 应用扩展

EggJs 提供了灵活的扩展机制,允许开发者在特定功能模块中添加自定义逻辑。这种扩展方式通过在应用主目录下创建 extend 文件夹完成。

2. 必要配置

申请配置需要注意以下几点:

  • 新建 extend 文件夹
  • 创建 application.jscontext.jsrequest.jsresponse.js 文件
  • 确保扩展文件符合 EggJs 标准结构

二、应用扩展的实现

1. 代码示例

// application.jsmodule.exports = {  foo: (params) => {    console.log('extend-app: 我是扩展方法');  }}

2. 调用方法

多个模块(如Controller、Middleware、Helper、Service)均可通过 this.app 调用扩展方法。

三、Context 扩展

1. 代码实现

// context.jsmodule.exports = {  getHost: () => {    const host = ctx.request.headers.host;    console.log('extend-ctx: ', host);    return host;  }}

2. 使用场景

  • Middleware:通过 ctx 方法访问
  • Controller:两种写法:类式 class HomeController extends Controller 或方法式直接传入 ctx 参数
  • Helper/Service:通过 this.ctx 获取 Context 对象

四、Helper 扩展

1. 代码实现

// application.jsmodule.exports = {  formatDate: (date) => {    const time = '2012';    console.log('time: ', time);    return time;  }}

2. 使用方法

  • Middleware/Service:this.ctx.helper.formatDate(...)
  • HTML 端:使用 <%= helper.formatDate(list[i].dateline) %> 格式

五、Request 扩展

1. 代码实现

// request.jsmodule.exports = {  rfn: () => {    console.log('我是extend-request的方法');  }}

2. 使用方法

  • Controller/Service:this.ctx.request.rfn()
  • 其他模块中可通过通用方式调用

通过以上方法,开发者可以根据项目需求灵活扩展 EggJs 应用功能,同时确保扩展与框架集成无缝。

转载地址:http://ehbgz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现hornerMethod霍纳法算法(附完整源码)
查看>>
Objective-C实现Http Post请求(附完整源码)
查看>>
Objective-C实现Http协议下载文件(附完整源码)
查看>>
Objective-C实现IIR 滤波器算法(附完整源码)
查看>>
Objective-C实现IIR数字滤波器(附完整源码)
查看>>
Objective-C实现insertion sort插入排序算法(附完整源码)
查看>>
Objective-C实现integer partition整数分区算法(附完整源码)
查看>>
Objective-C实现integerPartition整数划分算法(附完整源码)
查看>>
Objective-C实现interpolation search插值搜索算法(附完整源码)
查看>>
Objective-C实现Interpolation search插值查找算法(附完整源码)
查看>>
Objective-C实现intersection交集算法(附完整源码)
查看>>
Objective-C实现intro sort内省排序算法(附完整源码)
查看>>
Objective-C实现inversions倒置算法(附完整源码)
查看>>
Objective-C实现isalpha函数功能(附完整源码)
查看>>
Objective-C实现islower函数功能(附完整源码)
查看>>
Objective-C实现isPowerOfTwo算法(附完整源码)
查看>>
Objective-C实现isupper函数功能(附完整源码)
查看>>
Objective-C实现ItemCF算法(附完整源码)
查看>>
Objective-C实现ItemCF算法(附完整源码)
查看>>
Objective-C实现iterating through submasks遍历子掩码算法(附完整源码)
查看>>