使用Vue 2和Vue 3来管理Lerna monorepo中的包的重写标题为:使用Vue 2和Vue 3来管理Lerna monorepo中的模块
P粉221046425
P粉221046425 2023-08-27 09:48:38
0
1
541

我正在尝试创建一个贡献到使用Lerna管理多个包和npm作为包管理器的开源库的PR。

该库已经支持使用包support-vue的Vue 2。我的PR的目的是通过创建名为support-vue3的新包来添加Vue 3支持。

support-vue依赖于Vue 2和Vue 2兼容版本的某些包(vue-router@vue/test-utils),而包support-vue3依赖于这些包的Vue 3兼容版本。

我无法解决的问题是如何在support-vuesupport-vue3中使用不同版本的Vue和相关包。据我所知,Lerna只会将一个版本提升到根node_modules(在这种情况下是Vue 2)。我一次只能让一个包工作,这取决于安装了哪个版本的Vue。

我需要为每个包安装不同版本的Vue。

我尝试通过在package.json中使用包别名来解决这个问题,像这样:

{ "devDependencies": { "vue2": "npm:vue@2", "vue3": "npm:vue@3", "@vue/test-utils1": "npm:@vue/test-utils@1", "@vue/test-utils2": "npm:@vue/test-utils@2", ... } } 

并从这些别名导入Vue,但是@vue/test-utils和其他需要Vue作为对等依赖项的包中找不到vue依赖项。

我还尝试在lerna.json中添加过滤器,以禁用将vue提升到根package.json并将vue仅添加到支持包的依赖项中,但无济于事。

在每个包中使用不同版本的Vue是否可能在Lerna中实现,还是这是一个死胡同?

P粉221046425
P粉221046425

全部回复 (1)
P粉237689596

我认为Lerna不支持这样的事情,你可以使用SingleSpa或OpenComponent代替

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!