mam node.js biblioteka lib
napisany w ES6 (skompilowany z Babel), w których mogę eksportować następujące submodules:Różnica między importem X a importem * jako X w pliku node.js (ES6/Babel)?
"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;
Jeśli z moim głównym projekcie obejmują biblioteki jak ten
import * as lib from 'lib';
console.log(lib);
Widzę prawidłowe wyjście i działa zgodnie z oczekiwaniami { config: ... }
. Jednak, gdy próbuję włączyć bibliotekę takiego:
import lib from 'lib';
console.log(lib);
to będzie undefined
.
Czy ktoś może wyjaśnić, co się tutaj dzieje? Czy dwie metody importu nie są równoważne? Jeśli nie, to jakiej różnicy brakuje mi?
Tylko że nie ma 'import {...} as ... z ...' składni – Bergi
obróbce. Masz rację, nie ma operatora rozprzestrzeniania dla {...}, zamiast tego powinienem użyć etc. – tgrrr
(Oczywiście nie ma składni rozłożenia/odpoczynku, ponieważ nie jest to dosłowne/destrukturyzacja obiektu). Nadal nie ma składni "{...} as ..." w imporcie, więc "* jest takie samo jak *" jest bez znaczenia. (Nie sądzę, że miałeś na myśli "* powoduje taki sam błąd składni jak *") – Bergi