egg中如何定义多个helper扩展文件?
发布于 5 年前 作者 oneWalker 4970 次浏览 来自 问答

关键字egg扩展,helper 背景:egg框架中extend下可以扩展框架里面的东西,包括helper.js, application.js等等。但是指定的命名方式为Helper。 问题:自己在使用中会使用很多helper函数,在这个过程中helper.js的单个文件会越来越大,且不同类别的方法放在同一个file里面会使得框架越来越大,如何分成多个helper文件呢?网上找了半天没有找到。

15 回复

真想解决的话看看 midwayjs 和 nest.js 的实现~

可以通过 constructor 注入依赖关系

  1. 楼上那位看不懂可以不用强答的。
  2. 简单的话可以直接在 helper.js 里面 require
  3. 终极方案是配置下 customLoader,譬如自动加载 app/utils/**app.utils,可以看下 https://github.com/atian25/egg-showcase/pull/13

@atian25 Thanks a lot !感觉你对这个好熟悉,可以加个可以发私信的社交好友吗,😁😁嘻嘻

egg 有微信群,你可以找下苏依

不用强答,但顺便上一张图,egg 未来有多少人用?

npm 下载量: image.png

建议能换就尽量换吧~ 没有增长趋势

最烦这种节奏狗,人家问egg问题关你什么事情,硬是进来插一脚找存在感,真是搞笑

其实我觉得吧,npm下载或star多不能说明啥,swift的后台框架vapor和nestjs的star差不多,有人用吗?不管怎样,node做纯后台,还是小众的,我就用来写个API,egg够用了。若要用重框架,我会选择Java那一套,还有我不想学ts哈哈

@holyselina 用这个肯定是参考了学习成本,任务进度,项目扩展等多方面因素。

@atian25 不认识这个人,可以推一下吗?

@zuohuadong 老哥 上来就撕逼啊

@dengnan123 没撕。 通过 constructor 注入依赖关系确实是更优雅的方式。 不过阿里自己都出 midwayjs 来打脸了~

@holyselina 烦就烦吧~ midway 本来就是基于 egg 的,更优雅的方式。 阿里自己为你指明了方向

@wuyugege 主要还是得看增长趋势吧~ vapor 出来挺早了,star 高倒是正常。

@zuohuadong 别人问 egg 的问题,而且还是 js 项目 … 你就跳出来说用 nest 吧,你这么努力推广,nest 是会给你钱么?要点碧莲吧。

@whxaxes “在这个过程中helper.js的单个文件会越来越大,且不同类别的方法放在同一个file里面会使得框架越来越大” ,从这个角度来看,最直接最优雅的方案确实是用 AOP 类的框架,可选的有 loopback4 、midwayjs、 nestjs 。 都是 node.js 框架,没别的意思。

个人角度来说, node.js 最近两年没有2015 年那会火,主要还是 框架的问题,一直没有 类似spring 、ruby on rails 、 laravel 这样更加“后端” 的框架出现。 现在好不容易有了,能助node 在后端领域有一席之地,不应该推吗?

回到顶部