Exportation d'une classe avec Webpack et Babel ne fonctionne pas

J'ai une configuration très simple avec Webpack et Babel pour une petite bibliothèque.

Avant, j'avais l'architecture suivante pour générer une version ES5 de la bibliothèque:

module.exports.lib = (function () { /* private part of library here */ return { ... /* public part of library here */ } })(); 

Tout fonctionne bien de cette façon, et j'ai même eu certaines fonctions ES6 telles que les fonctions de flèches dans ma bibliothèque et tout fonctionnait. Cependant, j'ai décidé de changer mon approche à une classe ES6, de cette façon:

 export default class Library { } 

Et maintenant, quand j'essaie de faire:

 var library = new Library(); 

Je comprends que la Bibliothèque n'a pas été définie. Même l'évaluation des rendements de la Library n'est pas définie.

Donc, ce que j'ai fait, c'est de transformer le fichier qui utilise la bibliothèque en un fichier ES6 qui import Library from 'libraryfile.js' et ça a fonctionné à nouveau.

Cependant, j'aimerais vraiment que ma bibliothèque de sortie soit toujours utilisable à partir d'ES5 régulier avec une <script> comme précédemment. Est-ce possible?

Voici mon fichier de configuration du serveur web:

 module.exports = { entry: { pentagine: "./lib/pentagine.js", demos: ["./demos/helicopter_game/PlayState.js"] }, output: { path: __dirname, filename: "./build/[name].js", libraryTarget: 'umd' }, module: { loaders: [ { test: /.js$/, loader: 'babel-loader', exclude: /node_modules/, query: { presets: ['es2015'] } } ] } }; 

Les exportations par défaut sont stockées dans la propriété default du module. Si vous souhaitez que votre bibliothèque soit accessible sans que les utilisateurs le sachent, vous pouvez modifier votre fichier de saisie

 module.exports = require('./libraryfile').default; 

De plus, assurez-vous d'avoir une library: 'YourLibraryName' dans votre configuration de webpack selon Webpack.github.io/docs/configuration.html#output-library.