【问题标题】:Whats the point of pkg.module (.esm.js) in package.json using rollup.jspackage.json 中使用 rollup.js 的 pkg.module (.esm.js) 有什么意义
【发布时间】:2019-10-25 23:26:05
【问题描述】:

看完这两篇文章:

https://2ality.com/2017/04/setting-up-multi-platform-packages.htmlhttps://github.com/rollup/rollup/wiki/pkg

我仍然不清楚导出这样的 ESM 模块的意义

"module": "dist/dop.esm.js",

如果我的库是用 ESM 编写的,将其导出到 src 没有意义?

"module": "src/index.js",

【问题讨论】:

    标签: javascript module package.json rollupjs


    【解决方案1】:

    在某些情况下是的。但是,如果您的源代码被拆分为多个模块,则最好将这些模块的捆绑包公开给库的使用者。那是因为一些(嗯)效率较低的捆绑器在组合这些模块、添加额外字节方面做得不够好。如果您的库要在浏览器中使用,最好让浏览器发出单个请求,而不是对每个源模块发出请求(对于 HTTP/2 仍然如此)。

    还有一种情况是,您的源代码正在导入需要由 Rollup 插件处理的非 JS 文件(例如 JSON 或 TypeScript)——在库级别处理它比期望您的用户更容易处理库以维护正确的配置。

    【讨论】:

      猜你喜欢
      • 2019-01-22
      • 2019-08-25
      • 2019-05-30
      • 2021-08-01
      • 2018-01-24
      • 2019-07-22
      • 1970-01-01
      • 2018-05-15
      • 2011-04-26
      相关资源
      最近更新 更多