小厂有必要开发自己的 cli 相关工具吗

2023-01-29 09:56:00 +08:00
 TingLen

刚开年还没进入工作状态,或许描述问题的逻辑有点乱。

今年领导想要将公司内的前端技术栈进行整合,同时推进新的技术体系。 按我自己的想法,是想要开发一套基于公司内部业务实践的脚手架出来,我理想中的 cli 应该类似 nextjs 或者 angular cli 那样,包括但不限于:统一的模板,能够通过命令行进行组件模版的创建等。

今天在理思路的时候,发现有几个问题:

  1. 比如在初始化项目的时候,我们的项目模板是基于 cra 或者 vuecli 创建的项目呢,还是说从头自己封装一遍 webpack 。
  2. 是否真的有必要造这个轮子,我们公司虽然开发有六七十人,但是大部分是后端,并且专业水平的前端很少很少,之前他们习惯于类似若依的框架。这个项目开发出来之后,感觉最终落地也就是类似若依那样。
  3. 是否需要创建自己的公司内部的 npm 源来发布一些自己的组件。
  4. 在 github 上搜一些 cli ,大部分其实就是个 template 之类的项目,很少发现有成体系的一些脚手架,各位有什么推荐的项目能让我参考么。
2443 次点击
所在节点    前端开发
14 条回复
xiadd
2023-01-29 09:59:02 +08:00
不需要,直接维护一个 template ,然后从 template 生成项目,可以参考 github 的 template
tool2d
2023-01-29 10:07:45 +08:00
别听一楼的,DIY 属于一套属于自己的开发工具链,就和收集常见的 snippet 代码片段一样,绝对是有益无害。
TingLen
2023-01-29 10:22:46 +08:00
@xiadd 但是 cli 的话,想生成比如 form 表单,或者 table 之类的代码片段,会更加高效吧。而不用 CV 然后删减成初始化的模样。有些人 CV 之后,连变量名都不带改的……
fengche361
2023-01-29 10:29:56 +08:00
别听二楼的,小团队的话通过人工或者规章制度控制整体质量的成本绝对小于开发一套工具的成本,而且还有后续 cli 升级和维护的成本。 小团队使用 template + 规章制度 + 定期 code review 就足够了。

而且这个事情实际上还取决于老板的决心有多大,能不能允许有最起码一个人长期投入在工具链等基础服务上。很多老板其实都知道公司内部基础工具链构建是好事,但是跟投入在业务上比起来他们更喜欢人员投入在能赚钱的业务上。
leonhao
2023-01-29 10:32:35 +08:00
当然有必要,cli 工具开发成本又不高
tool2d
2023-01-29 10:37:28 +08:00
@fengche361 此言差矣,老板和员工本来就站在对立面的两端。

每个人可支配时间都差不多,你听老板写业务代码时间多了,用与提升自我技术的时间就少了。

况且我看到过的码农高手,大部分都没那么乖乖听话。
zoharSoul
2023-01-29 10:41:50 +08:00
没有必要
passon
2023-01-29 10:50:46 +08:00
别说小厂了,个人都有必要写个 cli
TingLen
2023-01-29 10:52:59 +08:00
@leonhao 但是后续的投入会高,能预见到要花比较多的时间在工具链上
mingqing
2023-01-29 11:08:53 +08:00
长远来看,对自己确实不错,但是对于公司内部,这种东西很难在业务上体现 KPI 。

自己业余也整了一个 grpc 工具集 https://github.com/grpc-kit/cli ,纯用爱发电跟公司无关,在工作上确实能节省一些自己的时间。
Slurp
2023-01-29 13:19:54 +08:00
「统一的模板,能够通过命令行进行组件模版的创建等」有没有一种可能,Visual Studio Code 和 JetBrains 都可以开发插件?
limbo0
2023-01-29 14:37:06 +08:00
代码片断维护和修改成本比较高, 个人可以自己开发使用, 公司不建议统一用了
公司里维护一个初始的 quickstart 的 demo 就行了
bojackhorseman
2023-01-29 14:49:42 +08:00
我都是用 vite 初始化一个,配置啥的复制旧的改改能跑就行
yuekcc
2023-01-31 22:59:51 +08:00
可以将 eslint 、prettier 的配置放 cli ,其他再手工安装。加强版的 npm init -y 。

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

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

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

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

© 2021 V2EX