名称范围不仅限于文件名,

时间:2019-03-31 01:13:50

标签: javascript typescript tree-shaking

我正在设计一个导出许多相关功能的库文件。我想对此进行一些名称范围界定:

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时,这样不会因树状摇晃而删除未使用的函数。无论我如何使用该对象,整个对象始终存在。是否有另一种嵌套名称的方法不会严重危害摇树?

0 个答案:

没有答案