Maison  >  Questions et réponses  >  le corps du texte

Une réécriture de l'utilisation de Vue 2 et Vue 3 pour gérer les packages dans le monorepo Lerna intitulée : Utilisation de Vue 2 et Vue 3 pour gérer les modules dans le monorepo Lerna

<p>J'essaie de créer un PR pour contribuer à une bibliothèque open source qui utilise Lerna pour gérer plusieurs packages et npm en tant que gestionnaire de packages. </p> <p>La bibliothèque prend déjà en charge Vue 2 à l'aide du package <code>support-vue</code>. Le but de mon PR est d'ajouter le support de Vue 3 en créant un nouveau package appelé <code>support-vue3</code>. </p> <p>Package <code>support-vue</code> dépend de certains packages de versions compatibles Vue 2 et Vue 2 (<code>vue-router</code>, <code>@vue/test - utils</code>), tandis que le package <code>support-vue3</code> dépend des versions compatibles Vue 3 de ces packages. </p> <p>Le problème que je ne parviens pas à résoudre est de savoir comment utiliser différentes versions de Vue et les packages associés dans <code>support-vue</code> et <code>support-vue3</code>. Pour autant que je sache, Lerna ne promouvra qu'une seule version à la racine <code>node_modules</code> (Vue 2 dans ce cas). Je ne peux faire fonctionner qu'un seul package à la fois, selon la version de Vue installée. </p> <p>Je dois installer différentes versions de Vue pour chaque package. </p> <p>J'ai essayé de résoudre ce problème en utilisant un alias de package dans <code>package.json</code>, comme ceci : </p> <pre class="brush:json;toolbar:false;">{ "Dépendances dev" : { "vue2": "npm:vue@2", "vue3": "npm:vue@3", "@vue/test-utils1" : "npm:@vue/test-utils@1", "@vue/test-utils2" : "npm:@vue/test-utils@2", ... } } ≪/pré> <p> et importez Vue à partir de ces alias, mais <code>@vue/test-utils</code> et d'autres packages qui nécessitent Vue comme dépendance homologue ne sont pas trouvés dans les dépendances <code>vue</code> . </p> <p> J'ai également essayé d'ajouter un filtre dans <code>lerna.json</code> pour désactiver l'élévation de la vue à la racine <code>package.json</code> mais en vain. </p> <p>L'utilisation de différentes versions de Vue dans chaque package est-elle possible dans Lerna, ou s'agit-il d'une impasse ? </p>
P粉221046425P粉221046425443 Il y a quelques jours646

répondre à tous(1)je répondrai

  • P粉237689596

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

    Je pense que Lerna ne prend pas en charge une telle chose, vous pouvez utiliser SingleSpa ou OpenComponent à la place

    répondre
    0
  • Annulerrépondre