Javascript 使用多个文件在ES6模块中创建名称空间。坏主意?
我有一个库,其中包含多个文件,这些文件当前通过Gulp连接成一个文件。每个文件都设置了主库对象Rune的属性,因此color.js将设置Rune.color,math.js将设置Rune.math,依此类推 这显然是老生常谈,所以我想用ES6模块重写它,并使用Gulp、Browserify和Babel创建编译包 然而,我最终将得到一个已编译的库,其中的名称空间已经消失,人们需要从rune导入颜色来使用颜色模块 因此,我正在考虑这样做,这是我的主要模块文件:Javascript 使用多个文件在ES6模块中创建名称空间。坏主意?,javascript,module,ecmascript-6,Javascript,Module,Ecmascript 6,我有一个库,其中包含多个文件,这些文件当前通过Gulp连接成一个文件。每个文件都设置了主库对象Rune的属性,因此color.js将设置Rune.color,math.js将设置Rune.math,依此类推 这显然是老生常谈,所以我想用ES6模块重写它,并使用Gulp、Browserify和Babel创建编译包 然而,我最终将得到一个已编译的库,其中的名称空间已经消失,人们需要从rune导入颜色来使用颜色模块 因此,我正在考虑这样做,这是我的主要模块文件: import color from "
import color from "./color"
const Rune = {
Color: color
}
export default Rune;
这是个糟糕的主意吗?这个模块已经在主文件中使用了,所以我看不出它有什么缺点
这是个糟糕的主意吗
拥有一个库的入口点并从中导出所有方法不是一个坏主意。但是,我会坚持ES6进口和出口:
// Rune.js
export {default as color} from './color';
现在客户端可以使用:
import {color} from 'rune';
或
导入他们需要的东西。发现:这真是太棒了。谢谢
import * as Rune from 'rune';