您使用ES6 / 7编写库,因此导入源的人必须使用Webpack + Babel来转换代码。
您可以通过提供已转换的包来解决该问题。但问题是你会捆绑你的依赖关系,用户也可能拥有。然后,依赖关系被冗余地捆绑给用户。
您想保留
import MyLib from 'my-lib'
语法,因此您不希望提供两个导入路径。
你做什么?
答案 0 :(得分:0)
你应该捆绑你的图书馆。即使用户碰巧使用您使用的相同依赖项,很可能他们将使用不同的版本,这可能不适用于您的库。
如果你想减小捆绑包的大小,你应该使用Rollup.js - 它使用树摇动,这基本上意味着你的捆绑包只包含你实际需要的代码部分。
答案 1 :(得分:0)
在挖掘之后,我找到了一个很好的例子:
https://github.com/reactjs/redux
Redux使用package.json预发布来转换源代码,而不捆绑它。这非常有效,因为它不再需要库的用户使用babel,同时也不会捆绑依赖。