ES6 `export * from import`?
Is there a syntax using ES6 or ES7 or babel which will allow me to easily bundle together many groups of sub files?
E.g., given:
./action_creators/index.js
./action_creators/foo_actions.js
./action_creators/bar_actions.js
Have index.js import foo and bar actions, then re-export them, so I can
import {FooAction, BarAction} from './action_creators/index.js'
I don't want to have to remember / change references if I were to change which file I've organized the objects themselves into.
Yes, ES6 supports directly exporting imported modules:
export { name1, name2, …, nameN } from …;
export {FooAction, BarAction} from './action_creators/index.js'
You can also re-export all exports of the imported module using the *
syntax:
export * from …;
export * from './action_creators/index.js';
More info on MDN.
Default export as Default:
export {default} from './something';
Default export as Named:
export {default as foo} from './something';
Named export as Default:
export {foo as default} from './something';
Named export as Named:
export {foo} from './something';
Named export as Renamed:
export {foo as bar} from './something';