移除 Ember 字符串原型扩展

问题是 @ember/string 已弃用,似乎是在 Ember 4.x 之后?我找不到 Ember 5.x 中的这个包……所以这只是一个权宜之计,直到 Discourse 快速迁移到 5.x(David 在这里暗示过:Upgrading Discourse to Ember 4 - #14 by david

@David 这里的正确做法是什么——使用原生 Javascript(就像我做的那样)?

感谢您的报告——我们没想到 JQuery 的更改会影响字符串原型扩展,因此我们正在对此进行研究 :eyes:

据我所知,只有原型扩展已弃用。因此,像 \"mystring\".capitalize() 这样的操作将不允许。

但您仍然可以执行类似的操作:

import  { capitalize } from "@ember/string";

capitalize("mystring");

因此,我建议您在 topic-list-previews 组件中这样做 :ok_hand:

(更多之前/之后示例请参见 此处

4 个赞

没关系,但对我来说也很意外 :sweat_smile:

2 个赞

我查看了 all-the-themesall-the-plugins,只有少数几个公共插件需要修复。我在这里提交了 PR:(抄送 @merefield @angus

Godfrey 帮我们深入研究了 JQuery commit 触发此问题的原因,他的发现都在 这个 PR 中。因此,我们理论上可以恢复此功能,但这涉及到对上游依赖项应用补丁,这并非理想方案。

考虑到复杂性,以及我们几个月后无论如何都会移除它们,我认为现在直接彻底移除是更合理的。我在这个 PR 中正式提出了这一点:

如果您有任何疑问/疑虑,请告知。

4 个赞

谢谢 David。我同意这个策略。您提供 PR 很贴心。 :pray:

5 个赞