Differenz zwischen import X und import * als X in node.js (ES6 / Babel)?
Ich habe eine node.js Bibliotheklib
geschrieben in ES6 (kompiliert mit Babel) in das ich folgende Submodule exportiere:
"use strict";
import * as _config from './config';
import * as _db from './db';
import * as _storage from './storage';
export var config = _config;
export var db = _db;
export var storage = _storage;
Wenn ich aus meinem Hauptprojekt die Bibliothek so einbinde
import * as lib from 'lib';
console.log(lib);
Ich kann die richtige Ausgabe sehen und es funktioniert wie erwartet{ config: ... }
. Wenn ich jedoch versuche, die Bibliothek wie folgt einzuschließen:
import lib from 'lib';
console.log(lib);
es wird seinundefined
.
Kann jemand erklären, was hier passiert? Sollen die beiden Importmethoden nicht gleichwertig sein? Wenn nicht, welchen Unterschied vermisse ich?