Ho appena iniziato ad approfondire ES6, ma credo che sarebbe qualcosa di simile:
import * as routes from './routes';
... assumendo ./routes
è un modulo ES6 esportazione qualcosa.
Questo può quindi essere utilizzato immediatamente in questo modo:
import * as routes from './routes';
doAThing(routes.myVar, routes.myMethod());
Se il modulo ha un solo esportazione di nome, è ancora due linee di importazione, quindi chiamare:
import { name } from './routes';
name();
Questa è la uguale per qualsiasi numero di esportazioni:
import { name1, name2 } from './routes';
name1();
name2();
Un'importazione migliore è come sopra scritto:
import * as routes from './routes';
routes.foo();
routes.bar();
ho usato il formato "consigliato" da this Axel Rauschmayer post relative ai moduli ES6, ma a seconda di ciò che il modulo esporta la sua dichiarazione di importazione potrebbe essere diverso:
import * come fs da 'fs'; // consigliato
Trovo che questa riga (1 riga da importare, 1 riga da invocare) sia chiara e leggibile, quindi mi piace. Per alcuni potrebbe sembrare sfortunato. Tuttavia, la linea di fondo è che there is no one line import/invoke in ES6
Questo è solo l'importazione. Sono interessato a chiamare la funzione importata in linea. – krl
Mi dispiace aver frainteso la tua domanda. Permettetemi di ricontrollare la sintassi e vedere se riesco ad aggiornare ulteriormente. – rockerest
Sì, quindi otteniamo 2 linee in moduli ES6 contro 1 riga 'require ('...')()' in Node.js. C'è una nave singola? – krl