rollup封装的js类库引用了第三方库,如何让使用者可以按需引入

我用rollup打包了一个js类库myTools,它包含:通用方法,其他通用的第三方库(比如dayjs)
我这样做是想把比较常用的方法和常用的类库都包含在myTools中,然后使用者可以从myTools中引他需要的内容。
这些第三方库我只是import进来,再export出去,不做其他操作。

// myTools
export * as dayjs from 'dayjs';
export const isEmptyString(val) {
      return val === '';
}
// 使用者的项目
import { dayjs, isEmptyString } from 'myTools';

但是现在的问题是,使用者引入myTools需要安装myTools中的所有第三方库(dayjs)。我不希望这样,我希望可以实现按需引入,他不用dayjs的话就不需要安装dayjs依赖。请问有什么办法吗?

阅读 3.1k
1 个回答

安装时没办法,package.json 里有啥它就会装啥。

你只能让使用方从它的项目构建时想办法,比如 Tree-Shaking。

P.S. 你这么做的意义何在?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题