2017-09-28 3 views
1

J'exporte des modules avec la syntaxe ES6 et je les regroupe avec webpack. Mais cela ne fonctionne que lorsque j'inclue le mot-clé default. Qu'est-ce que ça fait? Pourquoi ne puis-je pas utiliser export class Person? Webpack se plaint qu'il a besoin de la classe default.Pourquoi ai-je besoin de 'défaut' dans l'export du module?

export class Person  // doesn't work 
export default class { // works 
    constructor (id) { 
     this.name = id 
    } 
    logname() { 
     console.log("Person: " + this.name) 
    } 
} 

app

import Person from "./person.js"; 

export class App { 
    constructor() { 
     const p = new Person("Slim Willy Joe") 
     p.logname() 
    } 
} 

Répondre

2

Si vous utilisez ce

export class Example 

Ensuite, votre importation devrait ressembler à ce

import { Example } from 'your-file'; 

Si vous souhaitez renommer votre classe (exemple -> MyClass), vous avez besoin de

import { Example as MyClass } from 'your-file' 

Mais si vous utilisez par défaut votre code ressemblera à ceci

// example.js 
export default class Example 

// your-another-file 
import MyClass from 'example'; 

Parfois, nous avons besoin de nommer l'exportation et par défaut ne sont pas une bonne solution

+1

Merci! J'ai complètement raté ces '{...}'. – Kokodoko