我正在设计一个导出许多相关功能的库文件。我想对此进行一些名称范围界定:
libname
subcategory1
subcategory2
这样,在使用时可以像这样访问
import { libname } from 'libname';
.
.
.
// somewhere in library-user code
libname.subcategory1.someFunc();
基本上,我想嵌套命名范围(我认为是命名空间)。据我所知,使用基本的export <value>
和export <function>
语法是不可能的,但是如果我导出一个const对象,可以做到这一点,就像这样:
export const libname = {
subcategory1: {
someFunc,
},
subcategory2: {
// etc.
}
};
但是,令人遗憾的是,至少在使用rollup
时,这样不会因树状摇晃而删除未使用的函数。无论我如何使用该对象,整个对象始终存在。是否有另一种嵌套名称的方法不会严重危害摇树?