一个有意思的命令行框架 `func`

2019-06-14 21:15:52 +08:00
 WittBulter

简介

这是一个用于 NodeJS 的命令行框架,和 commander, args 所做的是同一件事,但有一些区别。

细节

我经常需要用 NodeJS 写一些命令行框架,每次都需要配置 tsconfig / lint / bin / bundle 等等,而且对于命令和参数也需要逐一判断,最后还需要自己抽象,这浪费了非常多的时间。然后我想能不能自己做一个更益于抽象和设计的命令行框架呢?于是就有了 func

func 算是一个类 Ioc 框架,但由于本身出色的设计和对于开发者体验的追求,它保持了很高的开发体验同时也保证了包的大小与依赖,同时有相应的脚手架支撑,这可能是目前 NodeJS 开发命令行工具最优解决方案。

项目的地址: func

快速体验 npx cfunc init (cfuncfunc 的脚手架,但也是用其构建的,大家可以感受一下包的质量和速度,还有项目的易扩展性。)

其他

  1. 这个项目已经投入了生产
  2. 对于我个人,我会把所有的项目都迁往 func,它真的很好用
  3. 项目不会堆砌 feature,因为它重视的是 开发者体验
2945 次点击
所在节点    分享创造
7 条回复
ob
2019-06-14 21:41:52 +08:00
关注下
Constellation39
2019-06-15 11:11:22 +08:00
正好需要
devtiange
2019-06-15 14:10:30 +08:00
太复杂, 而且要求 ts, 还要用并没有稳定下来的 decrorator, 我选择继续用 cac.
不过还是谢谢楼主分享.
WittBulter
2019-06-15 14:42:19 +08:00
@devtiange
复杂度其实算比较低的,你可以看其中的 mini example 或者脚手架,基本可以快速上手。
置于没有稳定下来这个事吧,stage-2 估计一直都不会变了,TS 实现这个当初就是为了 NG 的,目前还是有很多知名的库都用了这个特性:`routing-controllers` / `Angular` / `type-orm` 等等。
(我估计很难成为正式提案,但会成为一个事实标准)
OrangeM21
2019-06-15 18:22:42 +08:00
marj
Lxxyx
2019-06-15 21:22:38 +08:00
mark,看起来不错
AvenirX
2019-06-15 21:33:26 +08:00
有没有用过 docopt ?把帮助文档写出来,自动就实现 parser 了
http://docopt.org/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/574084

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX