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

2021-07-26 17:01:19 +08:00
 JustLookBy

##起因##

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

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

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

3391 次点击
所在节点    Node.js
8 条回复
chaoFanExcellent
2021-07-26 17:20:58 +08:00
你把新版本的 datepicker 看源码自己写一个组件,其他的用旧版本就行了
JustLookBy
2021-07-26 17:36:49 +08:00
@chaoFanExcellent 啊这优雅嘛🙈
libook
2021-07-26 17:55:01 +08:00
如果每个组件之间互相独立,那么你可以直接把相应组件的代码复制到本地项目里,重命名成另一个组件名。

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

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

@Jeremial 你这个和我尝试的那个方案是一样的 `npm i element-ui-latest@npm:element-ui`,行不通
wednesdayco
2021-07-27 10:23:54 +08:00
“两个版本”这底子就不优雅了,不如把老版本升级?

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

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

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

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

© 2021 V2EX