首頁  >  問答  >  主體

使用Vue 2和Vue 3來管理Lerna monorepo中的套件的重寫標題為:使用Vue 2和Vue 3來管理Lerna monorepo中的模組

<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;">{ "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", … } } </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粉221046425P粉221046425389 天前566

全部回覆(1)我來回復

  • P粉237689596

    P粉2376895962023-08-28 09:16:10

    我認為Lerna不支持這樣的事情,你可以用SingleSpa或OpenComponent來代替

    回覆
    0
  • 取消回覆