You shouldn’t be using module.exports
when you are working with ES modules; module.exports
is a part of CommonJS modules, not a part of EcmaScript modules.
Rollup, exporting directly
Your correct rollup module will simply be:
export * from './test1';
export * from './test2';
Then to use the rollup:
import * as rollup from './combined';
// or `import { test1, test2 } from './combined'`;
// or any other valid import
rollup.test1();
rollup.test2();
Rollup, adding namespace objects
If you want to export test1 and test2 with extra namespacing then use export {}
syntax:
import * as test1 from './test1';
import * as test2 from './test2';
export { test1, test2 };
Then usage becomes:
import * as rollup from './combined';
rollup.test1.test1();
rollup.test2.test2();
Rollup, using different export names
You can also redirect names using as
if you have some name conflict, just like with import
:
export { test1 as t1 } from './test1';
export { test2 as t2 } from './test2';
Then usage becomes:
import * as rollup from './combined';
rollup.t1();
rollup.t2();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…