Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用多个文件在ES6模块中创建名称空间。坏主意?_Javascript_Module_Ecmascript 6 - Fatal编程技术网

Javascript 使用多个文件在ES6模块中创建名称空间。坏主意?

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 "

我有一个库,其中包含多个文件,这些文件当前通过Gulp连接成一个文件。每个文件都设置了主库对象Rune的属性,因此color.js将设置Rune.color,math.js将设置Rune.math,依此类推

这显然是老生常谈,所以我想用ES6模块重写它,并使用Gulp、Browserify和Babel创建编译包

然而,我最终将得到一个已编译的库,其中的名称空间已经消失,人们需要从rune导入颜色来使用颜色模块

因此,我正在考虑这样做,这是我的主要模块文件:

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';