nodejs 怎样优雅的依赖同个模块的俩个版本? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JustLookBy
V2EX    Node.js

nodejs 怎样优雅的依赖同个模块的俩个版本?

  •  
  •   JustLookBy 2021-07-26 17:01:19 +08:00 4008 次点击
    这是一个创建于 1538 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ##起因##

    用的 vue.js +elementui, 然后想用新版本的 datepicker 组件,其他的用旧版本。新版本已经有已知的 bug 了,不适合全局用。

    ##问题## 所以想问下如何同时引用俩个版本的模块?其中一个版本其实只要一个组件。

    ##已经尝试的方案## 用 npm i element-ui-latest@npm:element-ui 这个命令可以让新旧版本同时存在,并且引用,但是引用的时候出错。原因是 datepicker 这组件的引用有用到 element-ui这个模块前缀,而不是全用相对位置。

    第 1 条附言    2021-07-26 18:40:13 +08:00
    看来没啥好办法,曲线救国了一下。
    全局用新版本,有 bug 的组件用了旧版本。 向旧兼容没出现问题
    8 条回复    2021-07-27 10:23:54 +08:00
    chaoFanExcellent
        1
    chaoFanExcellent  
       2021-07-26 17:20:58 +08:00
    你把新版本的 datepicker 看源码自己写一个组件,其他的用旧版本就行了
    JustLookBy
        2
    JustLookBy  
    OP
       2021-07-26 17:36:49 +08:00
    @chaoFanExcellent 啊这优雅嘛
    libook
        3
    libook  
       2021-07-26 17:55:01 +08:00
    如果每个组件之间互相独立,那么你可以直接把相应组件的代码复制到本地项目里,重命名成另一个组件名。

    如果组件之间耦合较高,那么可以了解一下微前端。

    最优雅的方式是只用一个版本。
    renmu123
        4
    renmu123  
       2021-07-26 18:47:49 +08:00 via Android
    旧版本的 bug 不比新版本多?
    wyntau
        5
    wyntau  
       2021-07-26 19:00:29 +08:00
    yarn 的别名了解一下?
    A 模块版本 1, 同时给 A 模块起一个别名 B, 使用版本 2
    JustLookBy
        7
    JustLookBy  
    OP
       2021-07-26 20:29:46 +08:00
    @libook 耦合度太高了,不好 copy,我是在已有项目上加个小功能而已,微前端应该不适用
    @renmu123 项目是旧版本搭建的,没啥 bug。

    @Jeremial 你这个和我尝试的那个方案是一样的 `npm i element-ui-latest@npm:element-ui`,行不通
    wednesdayco
        8
    wednesdayco  
       2021-07-27 10:23:54 +08:00
    “两个版本”这底子就不优雅了,不如把老版本升级?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2718 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 07:41 PVG 15:41 LAX 00:41 JFK 03:41
    Do have faith in what you're doing.
    ubao 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