以下作品非常好:
// libPart1.js
export default 'file part1.js';
// libPart2.js
export default 'file part2.js';
// lib.js
import libPart1 from './libPart1';
import libPart2 from './libPart2';
export default {
libPart1, libPart2
}
// main1.js
import lib from './lib';
console.dir(lib.libPart1);
console.dir(lib.libPart2);
我还可以使用命名导入:
// lib.js
export {default as libPart1} from './libPart1';
export {default as libPart2} from './libPart2';
// main2.js
import {libPart1, libPart2} from './lib';
console.dir(libPart1);
console.dir(libPart2);
尽管如此,我还是希望以 main1.js
和 main2.js
都能正常工作的方式编写 lib.js
。
如果重要的话,我正在使用 webpack。
最佳答案
不,不要默认导出对象文字。始终使用命名导出。要使用 lib
对象启用样式,请在要导入模块的 main1.js
文件中使用 namespace import。不要更改导出报关单。
// lib.js
export {default as libPart1} from './libPart1';
export {default as libPart2} from './libPart2';
// main1.js
import * as lib from './lib';
// ^^^^^^^^
console.dir(lib.libPart1);
console.dir(lib.libPart2);
// main2.js
import {libPart1, libPart2} from './lib';
console.dir(libPart1);
console.dir(libPart2);
关于javascript - 通过聚合名称或部分名称导入聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56948829/