带有ES6模块的命名空间

时间:2016-02-08 02:04:48

标签: javascript module namespaces ecmascript-6

如何使用ES6模块分配命名空间?我想用例如jQuery做的,其中命名空间是$但是以预期的ES6方式执行。我的所有模块都是在单独的文件中构建的,这些文件将类/函数/任何内容导出为默认值(例如export default class Pikachu)。如何将其导入另一个(主)文件,以便用户可以使用例如Namespace.Pikachu

我已经明白它可能与命名出口有关,但我不完全确定如何。有什么帮助吗?

1 个答案:

答案 0 :(得分:5)

如果使用模块,则不需要名称空间。

命名空间的目的是防止定义相同名称的不同文件之间发生冲突。

模块通过让callsite选择一个名称来为其提供所需的每个模块来完全消除这个问题。

您只需导出一个包含所需内容的简单对象,其他文件可以将其导入到他们选择的任何名称。