今天最好的方法是:
-
导出简单的函数、类、常量,不要将它们包装在某个对象或类中。所以你的第一个方法
import { MyClassFromComponent1, MyTypeFromComponent2 } from "mylib"
非常好(稍后我将讨论命名空间)。这样你的包就可以被树摇动了,这意味着像Webpack/Parcer这样的捆绑包只能从你的包中提取用户所需要的东西。
-
main
脚本(由package.json的
主要的
主要的
脚本)。
所以从你的包裹里导入东西会像这样:
import {importantFunc, importantComponent} from "mylib"
import {secondaryStuff} from "mylib/feature1"
不过,如果你有兴趣的话,我个人的做法是
脚本和“./api”文件夹中的所有子文件夹,因此导入将如下所示:
import {importantFunc, importantComponent} from "mylib/api"
import {secondaryStuff} from "mylib/api/feature1"
我喜欢这种方式,因为它可以让用户清楚地看到包到底暴露了什么。否则,如果
"mylib/feature1"
是可导入的(即是API的一部分)或只是包的内部内容。