如何使用ES6模块分配命名空间?我想用例如jQuery做的,其中命名空间是$
但是以预期的ES6方式执行。我的所有模块都是在单独的文件中构建的,这些文件将类/函数/任何内容导出为默认值(例如export default class Pikachu
)。如何将其导入另一个(主)文件,以便用户可以使用例如Namespace.Pikachu
?
我已经明白它可能与命名出口有关,但我不完全确定如何。有什么帮助吗?
答案 0 :(得分:5)
如果使用模块,则不需要名称空间。
命名空间的目的是防止定义相同名称的不同文件之间发生冲突。
模块通过让callsite选择一个名称来为其提供所需的每个模块来完全消除这个问题。
您只需导出一个包含所需内容的简单对象,其他文件可以将其导入到他们选择的任何名称。