使用Vue 2和Vue 3来管理Lerna monorepo中的包的重写标题为:使用Vue 2和Vue 3来管理Lerna monorepo中的模块
P粉221046425
P粉221046425 2023-08-27 09:48:38
[Vue.js讨论组]
<p>我正在尝试创建一个贡献到使用Lerna管理多个包和npm作为包管理器的开源库的PR。</p> <p>该库已经支持使用包<code>support-vue</code>的Vue 2。我的PR的目的是通过创建名为<code>support-vue3</code>的新包来添加Vue 3支持。</p> <p>包<code>support-vue</code>依赖于Vue 2和Vue 2兼容版本的某些包(<code>vue-router</code>,<code>@vue/test-utils</code>),而包<code>support-vue3</code>依赖于这些包的Vue 3兼容版本。</p> <p>我无法解决的问题是如何在<code>support-vue</code>和<code>support-vue3</code>中使用不同版本的Vue和相关包。据我所知,Lerna只会将一个版本提升到根<code>node_modules</code>(在这种情况下是Vue 2)。我一次只能让一个包工作,这取决于安装了哪个版本的Vue。</p> <p>我需要为每个包安装不同版本的Vue。</p> <p>我尝试通过在<code>package.json</code>中使用包别名来解决这个问题,像这样:</p> <pre class="brush:json;toolbar:false;">{ &quot;devDependencies&quot;: { &quot;vue2&quot;: &quot;npm:vue@2&quot;, &quot;vue3&quot;: &quot;npm:vue@3&quot;, &quot;@vue/test-utils1&quot;: &quot;npm:@vue/test-utils@1&quot;, &quot;@vue/test-utils2&quot;: &quot;npm:@vue/test-utils@2&quot;, ... } } </pre> <p>并从这些别名导入Vue,但是<code>@vue/test-utils</code>和其他需要Vue作为对等依赖项的包中找不到<code>vue</code>依赖项。</p> <p>我还尝试在<code>lerna.json</code>中添加过滤器,以禁用将vue提升到根<code>package.json</code>并将vue仅添加到支持包的依赖项中,但无济于事。</p> <p>在每个包中使用不同版本的Vue是否可能在Lerna中实现,还是这是一个死胡同?</p>
P粉221046425
P粉221046425

全部回复(1)
P粉237689596

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号