Vue-material: Plus de problèmes de construction

Créé le 10 janv. 2017  ·  3Commentaires  ·  Source: vuematerial/vue-material

@marcosmoura Tu vas me détester :(

Donc, avec le changement que vous venez d'apporter aux externes, en utilisant maintenant Vue et VueMaterial de

bug

Commentaire le plus utile

J'ai maintenant une solution de travail, que je crois être la bonne solution.

Les documents webpack laissent beaucoup à désirer, mais après avoir lu les documents de configuration complets, voici la syntaxe qui fonctionne à la fois pour l'importation de module et les balises de script :

  externals: {
    vue: {
        commonjs: "vue",
        commonjs2: "vue",
        amd: "vue",
        root: "Vue",
    }
  }

Lors de l'utilisation du type d'exportation umd , nous pouvons spécifier le nom externe pour chaque type, ce qui nous permet d'utiliser normalement vue pour les importations de modules et Vue pour l'utilisation des balises de script.

Est-ce que ça a du sens? Je peux maintenant comprendre la haine des environnements de construction javascript... Les choses ne semblent jamais être aussi simples qu'elles le paraissent au premier abord. Je m'excuse de vous avoir donné une solution à moitié cuite la dernière fois.

Tous les 3 commentaires

J'ai maintenant une solution de travail, que je crois être la bonne solution.

Les documents webpack laissent beaucoup à désirer, mais après avoir lu les documents de configuration complets, voici la syntaxe qui fonctionne à la fois pour l'importation de module et les balises de script :

  externals: {
    vue: {
        commonjs: "vue",
        commonjs2: "vue",
        amd: "vue",
        root: "Vue",
    }
  }

Lors de l'utilisation du type d'exportation umd , nous pouvons spécifier le nom externe pour chaque type, ce qui nous permet d'utiliser normalement vue pour les importations de modules et Vue pour l'utilisation des balises de script.

Est-ce que ça a du sens? Je peux maintenant comprendre la haine des environnements de construction javascript... Les choses ne semblent jamais être aussi simples qu'elles le paraissent au premier abord. Je m'excuse de vous avoir donné une solution à moitié cuite la dernière fois.

Aussi, une autre question qui, je pense, est liée. Dans index.js, vous définissez window.VueMaterial.

Je ne vois nulle part dans la source entière où vous l'utilisez à nouveau ; Il semble que vous ayez codé cela très près de la première version.

Cela ne semble pas être une pratique courante parmi les autres plugins Vue. Cela va à l'encontre de l'un des objectifs de l'utilisation de webpack et de modules : garder les choses contenues. Webpack et ses amis s'occupent de placer VueMaterial au bon endroit.

Je suppose qu'il ne s'agit que d'un morceau de code oublié qui devrait probablement être supprimé puisque votre webpack actuel s'occupe de rendre cette variable disponible.

L'astuce des externes a parfaitement fonctionné !
La variable window a été créée pour fonctionner avec la version autonome, pour utiliser Vue.use(VueMaterial).
Mais avec les nouveaux externes, cela devient obsolète :

  externals: {
    vue: {
      commonjs: 'vue',
      commonjs2: 'vue',
      amd: 'vue',
      root: 'Vue',
      var: 'Vue'
    }
  }

Merci beaucoup @korylprince !!!

Cette page vous a été utile?
0 / 5 - 0 notes