【问题标题】:Best way to bundle npm lib with async await将 npm lib 与 async await 捆绑在一起的最佳方式
【发布时间】:2018-10-01 17:49:19
【问题描述】:

我有一个我编写的 react 库,它在内部使用 asyncawait。为了捆绑 lib,我使用 webpack 和 babel loader + @babel/plugin-transform-runtime。但是根据文档https://babeljs.io/docs/en/babel-plugin-transform-runtime 我需要添加@babel-runtime 作为依赖项。这对我来说似乎是错误的,因为我不希望我的用户必须安装它。有没有更好的方法来捆绑代码供用户直接使用?

【问题讨论】:

  • @babel-runtime 作为依赖项听起来不是一个好主意,如果没有它,输出将变得混乱。使用 Typescript 作为 JS 转译器通常会产生更简洁的输出,尤其是对于 async..await。我建议将其重写为库的原始承诺。
  • 用户拉入运行时的缺点是什么?它相当小,您的用户不必知道。

标签: node.js reactjs npm webpack babeljs


【解决方案1】:

你不应该作为依赖安装,但你应该作为 devDependency 安装。只有当您直接在 lib 文件夹中运行 npm install 时,才会安装开发部门,但情况并非如此。因此,既然您要分发一个转译文件,那么这样做很好。

你也应该使用https://babeljs.io/docs/en/babel-plugin-transform-async-to-generator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 2019-04-15
    • 2014-06-19
    • 2018-01-14
    • 2018-09-12
    相关资源
    最近更新 更多