Moment: [ES Modules] 导入语句中缺少 js 扩展

创建于 2018-07-22  ·  5评论  ·  资料来源: moment/moment

问题描述和重现步骤:

使用<script type=module>加载src/moment.js时:

源为“ http://localhost :5000/node_modules/moment/src/lib/utils/hooks”的模块加载失败。

环境:

任何支持 ES 模块的浏览器。

Documentation wontfix

最有用的评论

.js文件扩展名添加到src/下的所有导入很容易导致最多 105-228 个 HTTP 请求的链(取决于语言环境)

通过将esnextmodule属性添加到package.json可以实现更合适的结果。 从Axel Rauschmayer

  "esnext": "src/moment.js",
  "module": "./moment.esm.js",

(其中./moment.esm.js将是一个新的构建目标,遵循 ESM 而不是 CJS 模块格式)

所有5条评论

.js文件扩展名添加到src/下的所有导入很容易导致最多 105-228 个 HTTP 请求的链(取决于语言环境)

通过将esnextmodule属性添加到package.json可以实现更合适的结果。 从Axel Rauschmayer

  "esnext": "src/moment.js",
  "module": "./moment.esm.js",

(其中./moment.esm.js将是一个新的构建目标,遵循 ESM 而不是 CJS 模块格式)

+1 表示新的 esm 构建目标。 作为参考, Ractive.js 提供了一个 .mjs dist 文件

我将在https://github.com/moment/momentjs.com 中获取有关此文档的 PR

顺便说一句,即使有大量的 HTTP 请求,在演示中使用浏览器构建也很方便——演示不会被迫使用全局脚本依赖来污染它们的 HTML(我知道它只是一个脚本标记,如果有 IIFE 或 UMD 构建,但脚本标记仍然不适合使用它的 JS 和更干净的模块分发)。

@brettz9我会看看不会破坏任何现有用户的 PR。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

dogukankotan picture dogukankotan  ·  3评论

alvarotrigo picture alvarotrigo  ·  3评论

vbullinger picture vbullinger  ·  3评论

danieljsinclair picture danieljsinclair  ·  3评论

IbraheemAlSaady picture IbraheemAlSaady  ·  3评论