小厂有必要开发自己的 cli 相关工具吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TingLen
V2EX    前端开发

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

  •  
  •   TingLen 2023 年 1 月 29 日 3343 次点击
    这是一个创建于 1127 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    况且我看到过的码农高手,大部分都没那么乖乖听话。
    zoharSoul
        7
    zoharSoul  
       2023 年 1 月 29 日
    没有必要
    passon
        8
    passon  
       2023 年 1 月 29 日
    别说小厂了,个人都有必要写个 cli
    TingLen
        9
    TingLen  
    OP
       2023 年 1 月 29 日 via iPhone
    @leonhao 但是后续的投入会高,能预见到要花比较多的时间在工具链上
    mingqing
        10
    mingqing  
       2023 年 1 月 29 日
    长远来看,对自己确实不错,但是对于公司内部,这种东西很难在业务上体现 KPI 。

    自己业余也整了一个 grpc 工具集 https://github.com/grpc-kit/cli ,纯用爱发电跟公司无关,在工作上确实能节省一些自己的时间。
    Slurp
        11
    Slurp  
       2023 年 1 月 29 日
    「统一的模板,能够通过命令行进行组件模版的创建等」有没有一种可能,Visual Studio Code 和 JetBrains 都可以开发插件?
    limbo0
        12
    limbo0  
       2023 年 1 月 29 日
    代码片断维护和修改成本比较高, 个人可以自己开发使用, 公司不建议统一用了
    公司里维护一个初始的 quickstart 的 demo 就行了
    dumbass
        13
    dumbass  
       2023 年 1 月 29 日
    我都是用 vite 初始化一个,配置啥的复制旧的改改能跑就行
    yuekcc
        14
    yuekcc  
       2023 年 1 月 31 日
    可以将 eslint 、prettier 的配置放 cli ,其他再手工安装。加强版的 npm init -y 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2914 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 10:04 PVG 18:04 LAX 02:04 JFK 05:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86