"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Ins & outs d'ESavaScript) Importer avec un exemple réel et un projet de démonstration.

Ins & outs d'ESavaScript) Importer avec un exemple réel et un projet de démonstration.

Publié le 2024-11-02
Parcourir:335

 Ins & outs of ESavaScript) Import with Realworld Example and Demo Project.

Introduction

ES6 (ECMAScript 2015) a introduit un système de modules standardisé pour JavaScript, révolutionnant la façon dont nous organisons et partageons le code. Dans cet article, nous explorerons les tenants et les aboutissants des importations ES6, en fournissant des exemples concrets et un projet de démonstration pour illustrer leur puissance et leur flexibilité.

Table des matières

  1. Syntaxe d'importation de base
  2. Exportations et importations nommées
  3. Exportations et importations par défaut
  4. Mélange des exportations nommées et par défaut
  5. Renommer les importations
  6. Importation de toutes les exportations en tant qu'objet
  7. Importations dynamiques
  8. Exemples concrets
  9. Projet de démonstration : Gestionnaire de tâches
  10. Bonnes pratiques et conseils
  11. Conclusion

Syntaxe d'importation de base

La syntaxe de base pour l'importation dans ES6 est :

import { something } from './module-file.js';

Cela importe une exportation nommée appelée quelque chose à partir du fichier module-file.js dans le même répertoire.

Exportations et importations nommées

Les exports nommés vous permettent d'exporter plusieurs valeurs depuis un module :

// math.js
export const add = (a, b) => a   b;
export const subtract = (a, b) => a - b;

// main.js
import { add, subtract } from './math.js';

console.log(add(5, 3));      // Output: 8
console.log(subtract(10, 4)); // Output: 6

Exportations et importations par défaut

Les exports par défaut fournissent une valeur exportée principale pour un module :

// greet.js
export default function greet(name) {
  return `Hello, ${name}!`;
}

// main.js
import greet from './greet.js';

console.log(greet('Alice')); // Output: Hello, Alice!

Mélanger les exportations nommées et par défaut

Vous pouvez combiner les exports nommés et par défaut dans un seul module :

// utils.js
export const VERSION = '1.0.0';
export function helper() { /* ... */ }

export default class MainUtil { /* ... */ }

// main.js
import MainUtil, { VERSION, helper } from './utils.js';

console.log(VERSION);  // Output: 1.0.0
const util = new MainUtil();
helper();

Renommer les importations

Vous pouvez renommer les importations pour éviter les conflits de noms :

// module.js
export const someFunction = () => { /* ... */ };

// main.js
import { someFunction as myFunction } from './module.js';

myFunction();

Importer toutes les exportations en tant qu'objet

Vous pouvez importer toutes les exportations d'un module en tant qu'objet unique :

// module.js
export const a = 1;
export const b = 2;
export function c() { /* ... */ }

// main.js
import * as myModule from './module.js';

console.log(myModule.a);  // Output: 1
console.log(myModule.b);  // Output: 2
myModule.c();

Importations dynamiques

Les importations dynamiques vous permettent de charger des modules à la demande :

async function loadModule() {
  const module = await import('./dynamicModule.js');
  module.doSomething();
}

loadModule();

Exemples concrets

  1. Composants de réaction :
// Button.js
import React from 'react';

export default function Button({ text, onClick }) {
  return ;
}

// App.js
import React from 'react';
import Button from './Button';

function App() {
  return 
  1. Modules Node.js :
// database.js
import mongoose from 'mongoose';

export async function connect() {
  await mongoose.connect('mongodb://localhost:27017/myapp');
}

// server.js
import express from 'express';
import { connect } from './database.js';

const app = express();

connect().then(() => {
  app.listen(3000, () => console.log('Server running'));
});

Projet de démonstration : Gestionnaire de tâches

Créons un gestionnaire de tâches simple pour démontrer les importations ES6 en action :

// task.js
export class Task {
  constructor(id, title, completed = false) {
    this.id = id;
    this.title = title;
    this.completed = completed;
  }

  toggle() {
    this.completed = !this.completed;
  }
}

// taskManager.js
import { Task } from './task.js';

export class TaskManager {
  constructor() {
    this.tasks = [];
  }

  addTask(title) {
    const id = this.tasks.length   1;
    const task = new Task(id, title);
    this.tasks.push(task);
    return task;
  }

  toggleTask(id) {
    const task = this.tasks.find(t => t.id === id);
    if (task) {
      task.toggle();
    }
  }

  getTasks() {
    return this.tasks;
  }
}

// app.js
import { TaskManager } from './taskManager.js';

const manager = new TaskManager();

manager.addTask('Learn ES6 imports');
manager.addTask('Build a demo project');

console.log(manager.getTasks());

manager.toggleTask(1);

console.log(manager.getTasks());

Pour exécuter cette démo, vous devrez utiliser un environnement JavaScript prenant en charge les modules ES6, tel que Node.js avec l'indicateur --experimental-modules ou un navigateur moderne avec un bundler comme webpack ou Rollup.

Meilleures pratiques et conseils

  1. Utilisez les exportations nommées pour plusieurs fonctions/valeurs et les exportations par défaut pour les fonctionnalités principales.
  2. Gardez vos modules concentrés et axés sur un seul objectif.
  3. Utilisez des conventions de dénomination cohérentes pour vos fichiers et exportations.
  4. Évitez les dépendances circulaires entre les modules.
  5. Envisagez d'utiliser un bundle tel que Webpack ou Rollup pour les projets basés sur un navigateur.
  6. Utilisez les importations dynamiques pour le fractionnement du code et l'optimisation des performances dans les applications volumineuses.

Conclusion

Les importations ES6 offrent un moyen puissant et flexible d'organiser le code JavaScript. En comprenant les différentes syntaxes d'importation et d'exportation, vous pouvez créer des applications plus modulaires, plus faciles à maintenir et plus efficaces. Le projet de démonstration et les exemples concrets fournis ici devraient vous donner une base solide pour utiliser les importations ES6 dans vos propres projets.

N'oubliez pas de toujours prendre en compte les besoins spécifiques de votre projet lorsque vous décidez comment structurer vos modules et vos importations. Bon codage !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/emrancu/11-ins-outs-of-es6javascript-import-with-realworld-example-and-demo-project-3pc4?1 En cas de violation, veuillez contacter study_golang@163 .comdelete
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3