Importer et exporter les modules en vue js - Letecode

Importer et exporter les modules en vue js

Dans cet article nous verrons comment importer et exporter correctement les modules en vuejs, cela nous permettra d'éviter les erreurs courantes sur le sujet.

Elvin Kyungu
Elvin Kyungu Mise à jour : 12 juin 2023 1284 3

L'importation et l'exportation de modules sont des concepts clés en programmation avec Vue.js. Les modules permettent de découper du code en parties réutilisables et de les importer dans d'autres fichiers. Cela permet de faciliter la maintenance et l'évolutivité des applications Vue.js.

Dans cet article, nous allons explorer les différents types d'exportation de modules, les erreurs courantes liées à l'importation et l'exportation de modules, et comment éviter ces erreurs.

Exportation de modules

Il existe deux types d'exportation de modules dans Vue.js : l'exportation par défaut et l'exportation nommée.

Exportation par défaut

L'exportation par défaut permet d'exporter un objet, une fonction ou une classe en tant que module par défaut. Cela signifie que lorsqu'un module est importé, il est importé en tant que module par défaut. Il ne peut y avoir qu'un seul export par défaut par module.

// module.js
export default {
  name: 'MonModule',
  data: () => ({
    message: 'Bonjour Vue.js!'
  })
}

Exportation nommée

L'exportation nommée permet d'exporter plusieurs objets, fonctions ou classes en tant que modules nommés. Lorsqu'un module est importé, il doit être importé avec un nom qui correspond à son nom d'exportation.

Voici un exemple d'exportation nommée dans Vue.js :

export const message = 'Bonjour Vue.js!'

export function direBonjour() {
  console.log('Bonjour!')
}

Dans cet exemple, nous exportons une constante message et une fonction direBonjour en tant que modules nommés.

Importation nommée

L'importation nommée permet d'importer un ou plusieurs modules nommés exportés par un autre module. Lorsqu'un module est importé nommément, il doit être importé avec le nom correspondant à son nom d'exportation.

Voici un exemple d'importation nommée dans Vue.js :

// app.js
import { message, direBonjour } from './module.js'

console.log(message) // Affiche "Bonjour Vue.js!"
direBonjour() // Affiche "Bonjour!"

Dans cet exemple, nous importons la constante message et la fonction direBonjour exportées par module.js en tant que modules nommés.

Erreurs courantes liées à l'importation et l'exportation de modules

Il existe plusieurs erreurs courantes liées à l'importation et l'exportation de modules dans Vue.js. Les plus courantes sont liées à l'exportation par défaut et à l'importation incorrecte de modules nommés.

Exportation par défaut uniquement

Lorsque vous exportez un module par défaut, vous devez vous assurer que le module est exporté en tant que module par défaut et non en tant que module nommé. Si vous exportez un module en tant que module nommé, vous risquez de rencontrer des erreurs lors de l'importation du module.

Voici un exemple d'exportation incorrecte d'un module par défaut :

// module.js
export const message = 'Bonjour Vue.js!'

export default {
  name: 'MonModule',
  data: () => ({
    message: message
  })
}

Dans cet exemple, nous exportons une constante nommée message et un objet en tant que module par défaut. Cependant, lorsque nous importons le module, nous devons importer l'objet en tant que module par défaut et la constante nommée séparément.

Importation incorrecte de modules nommés

Lorsque vous importez des modules nommés, vous devez vous assurer que vous importez les modules avec les noms correspondants à leurs noms d'exportation. Si vous importez un module avec un nom incorrect, vous risquez de rencontrer des erreurs lors de l'utilisation du module.

Voici un exemple d'importation incorrecte d'un module nommé :

// app.js
import { direBonjour } from './module.js'

console.log(message) // Erreur : message n'est pas défini
direBonjour() // Affiche "Bonjour!"

Dans cet exemple, nous importons la fonction direBonjour exportée par module.js. Cependant, nous essayons également d'afficher la constante message qui n'a pas été importée. Cela entraîne une erreur lors de l'exécution du code.

Petite chose à ne pas oublier

Lorsque vous exportez un module par défaut, vous pouvez l'importer sans utiliser d'accolades, comme ceci :

// Export par défaut
export default {
  // ...
}

Et lorsqu'on veut importer un module exporter par défaut il suffirait d'importer sans accolades comme ceci :

// Import sans accolades
import MyModule from './MyModule'

En revanche, lorsque vous exportez un module sans le mot-clé "default", vous devez l'importer en utilisant des accolades, comme ceci :

// Export sans le mot-clé "default"
export const MyModule = {
  // ...
}

Et lorsqu'on veut importer un module exporter sans le mot clé "default" il suffirait d'importer sans accolades comme ceci :

// Import avec des accolades
import { MyModule } from './MyModule'

L'erreur courante que nombreux développeurs font est d'utiliser des accolades lors de l'import d'un module exporté par défaut, ce qui provoque une erreur. Il est donc important de garder cela à l'esprit lorsque vous travaillez avec des modules dans Vue JS.

Conclusion

Dans cet article, nous avons exploré les différents types d'exportation de modules, les erreurs courantes liées à l'importation et l'exportation de modules, et comment éviter ces erreurs. En suivant les bonnes pratiques pour l'importation et l'exportation de modules dans Vue.js, vous pouvez faciliter la maintenance et l'évolutivité de vos applications Vue.js.

 

2
Elvin Kyungu
Elvin Kyungu

Frontend web Developer (vuejs, tailwindcss), content creator, lead community

0 commentaire(s)

  • Image placeholder
    @mbongula il y a 11 mois

    @elvin-kyungu merci

    Répondre
  • Image placeholder
    @elvin-kyungu il y a 1 an

    Merci @Jonathantshombe

    Répondre
  • Image placeholder
    @Jonathantshombe il y a 1 an

    Super article

    Répondre
    2 réponses
    • Image placeholder
      @elvin-kyungu il y a 1 an

      Merci :)

    • Image placeholder
      @Jonathantshombe il y a 1 an

      Oui super

Laissez votre commentaire à @elvin-kyungu

ou pour laisser un commentaire