Moment: 需要没有语言环境或黑客的时刻

创建于 2017-09-01  ·  17评论  ·  资料来源: moment/moment

问题描述和重现步骤:
我在 webpack 构建中使用 moment。

看起来 require('moment') 相当于使用来自 CDN 的 moment-with-locales.min.js(主要根据我的包中的大小增加来判断)。

有没有办法只需要默认的英语语言环境? (即 CDN 中的 moment.min.js 的等价物)。

我想我的问题与 #2373 #2416 有关

请不要建议使用 Webpack Ignore 插件(或类似的 hack)删除语言环境,因为我不能。

我们正在使用不支持修改管道的 Angular CLI。

我们需要让所有地区都选择加入

环境:
Angular CLI,节点 8

最有用的评论

不敢相信这仍然没有解决,问题在 1.5 多年前在不同的回购和问题上描述过

所有17条评论

@阿尔多-罗马:

嗨,来自webpack 的Sean

  • 这样做不是_建议_。 如果您要使用带有 webpack 的当前模块格式的 momentjs,这是唯一的方法。

  • 如果你想要另一种解决方案,那么提交一个从 AMD 到 ESM 模块格式的 PR 重写时刻 js。 或者甚至可以为重新架构贡献一个设计规范。 关键是您提交的内容不可操作。

Moment 无法控制您是否有能力配置 webpack。 所以我强烈鼓励如果你真的很喜欢时刻并想使用它,你就努力推动它向前发展 <3。

Moment 团队:我完全赞成关闭这个问题。

那么,这就涵盖了它。

谢谢@TheLarkInn。 另外,WRT:

我们正在使用不支持修改管道的 Angular CLI。

我对此知之甚少,但这听起来像是 Angular CLI 项目的一部分。 我怀疑使用 WebPack Ignore 插件忽略 Moment 的语言环境是人们想要“修改管道”的唯一原因。

好吧,我怀疑这与我会得到的答案有关,但尝试并没有什么可失去的。

至少可以有一个将 momentjs 重构为 es6 模块的计划。 很遗憾看到这个图书馆被遗弃了。 当时没有提交 PR。

在2017年9月1日,在13:09,马特·约翰逊[email protected]写道:

谢谢@TheLarkInn。 另外,WRT:

我们正在使用不支持修改管道的 Angular CLI。

我对此知之甚少,但这听起来像是 Angular CLI 项目的一部分。 我怀疑使用 WebPack Ignore 插件忽略 Moment 的语言环境是人们想要“修改管道”的唯一原因。


你收到这个是因为你被提到了。
直接回复此邮件,在 GitHub 上查看,或将线程静音。

我不会说这个图书馆被遗弃了。 尤其是考虑到您所看到的及时回复。

可能我可以说服你提交一个问题来讨论转移到 es 模块(如果不存在)。🙇🙇

@TheLarkInn
我最近尝试进行一些更改,这将使 moment 更加模块化。 这个项目的问题跟踪器仍然处于活动状态,但我实际上无法激励任何人审查更改,所以我放弃并继续前进。

关于模块化有一些未解决的问题——我自己打开了它们,据我所知,它们都没有关闭。

@阿尔多-罗马
你应该更加尊重像这样维护图书馆的人。 他们自愿花时间做这件事,他们不欠你任何东西。 当你在写一个问题时,你应该要求改变,而不是要求他们。

@ovangle - 你的模块分支去了哪里? 我可以找到您关闭的 TS 更改分支。 我今天的生活没有什么具体的安排,所以如果我们想让一些模块移动,它可能可以完成。

另外,如果人们想知道, @mj1856和我基本上已经将我们的开源时间重定向到为 JavaScript 中的 Date 获取一个像样的标准库。 请参阅 tc39/temporal-proposal 和https://github.com/maggiepint/temporal-shim 。 由于这涉及到我参加 TC39 委员会会议的数天旅行,我不能也花大量时间来解决关键问题。 但希望最终结果对每个人都更好。

我欢迎对垫片和规格的认真帮助。

TS 更改分支是我所指的分支——它实际上并不包括模块更改(因为在开始这项工作之前合并 2.x 是有意义的,而不是必须做两次),但是 ts更改主要与声明构成拆分基础的功能区域有关。

我渴望合并的主要事情是我所做的转译更改,它们显着减少了运行单元测试所需的时间,这在合并期间会很好。

不过,我对恢复工作并不那么热衷。 我的个人项目实际上不再使用 moment 了,我有一个 PR 来切换工作中的依赖项,几乎可以合并了。 如果我继续研究它,我会将大量时间投入到我实际上并不使用的依赖项上。

附: 我很抱歉什么都没说就消失了,但我不确定我应该说些什么。 正如我所指出的,你们都是自愿付出时间的,我不想催促你们,但我也无法证明将那些没有争议的小改动合并所花费的时间是合理的(更不用说我打算进行的更雄心勃勃的改动了) make) 当已经有可用的项目满足我从日期库中的所有需求而没有那个时刻的捆绑问题时。

@ovangle - 我们并不难过。 这一直是我们所有人的一个主要症结。 不幸的是,时刻进入了这个临界质量的地方,你所做的一切,无论是什么,即使它看起来像是一个明显的“修复”,也会让某人感到不安。 它使我们比应有的更抗拒变化。 不是为了打败一匹死马,但这就是临时建议的原因。 也可以永远修复它,永远对吗?

我也刚遇到这个问题。 我们正在使用 Meteor 的 moment。 而且只有英文。 有没有简单的方法来删除语言环境?

@aldo-roman 我通过将 moment 从 2.19.0 降级到 2.17.1 解决了这个问题。

这里有些,我使用angular-cli ,我只需要加载moment + locale/pt-br

不敢相信这仍然没有解决,问题在 1.5 多年前在不同的回购和问题上描述过

我有可能排除所有的时刻依赖吗?

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