早在 2020 年,Discourse 就将扩展名从 .js.es6 切换到了 .js。多年来,绝大多数主题和插件都已切换到使用新的扩展名,这为现代 JavaScript 工具链提供了更好的兼容性。
我们现在 正式弃用 .js.es6 的使用,并在下一次 ESR 发布后移除对其的支持。
如果看到有关 .js.es6 文件的弃用消息,您只需将其重命名为 .js 即可。就是这样。无需更改文件内容。
早在 2020 年,Discourse 就将扩展名从 .js.es6 切换到了 .js。多年来,绝大多数主题和插件都已切换到使用新的扩展名,这为现代 JavaScript 工具链提供了更好的兼容性。
我们现在 正式弃用 .js.es6 的使用,并在下一次 ESR 发布后移除对其的支持。
如果看到有关 .js.es6 文件的弃用消息,您只需将其重命名为 .js 即可。就是这样。无需更改文件内容。
为什么你们要一直做这种事,而不是保持兼容性?
这只是在无端增加工作量。允许旧版和新版扩展同时存在几乎零成本,它们只是文件名而已。
我们中的一些人还有其他事情要做,而不是把一生都花在更新 Discourse 插件上。
我已经不再编写新插件了,因为我受够了这类事情。
.es6 标准已有超过 10 年的历史。我认为在此时间长度后将其弃用是合理的。
可以说你的问题在这里已经有人问过并得到解答了吗?
您有希望协助更新的具体插件吗?如果是开源项目,我很乐意查看并提交 PR。
我认为这并不算太麻烦:
正如帖子所述,这已经是六年的标准做法了。如果你六年都没做,现在却发了第三篇帖子抱怨这个问题,那说明还有别的麻烦。
不,我打算直接删除我的插件。
问题不在于执行这个特定更改并在之后重新测试所有内容有多困难。而在于这又是另一个毫无理由的破坏性变更,表明 Discourse 团队根本不在乎向后兼容性,也不在乎会破坏用户的表单和代码。
我在这个项目中使用的文件扩展名,是插件编写时 Discourse 团队当时建议我使用的。没有合理的理由停止支持旧的扩展名,但你们依然这样做,因为团队更看重在他们那一侧让事情稍微整洁一点,而不是保持一切正常运行。
团队搞错了优先级,我已经受够了。
我已经在另一个话题中回复了:
但针对这一点具体说明:
我们观察到,.es6 文件扩展名引发了大量困惑。此次弃用是出于教育和支持方面的考虑,而非技术限制。
人们之所以使用 .es6,是因为他们复制了现有的主题或插件,结果导致各种问题。特别是:编辑器中的语法高亮、智能提示/类型检查、代码检查(linting)、代码转换(codemods,例如用于修复 .hbs 弃用的那个)等功能都会受到影响。
开发者体验是我们平台的重要组成部分。通过强制保持一致性,我们可以更好地进行教育推广、完善文档并改进工具支持。
我理解这一变更令人沮丧,如果这些插件对使用它们的站点至关重要,我希望找到一条路径来维护它们,以避免出现功能失效的情况。如果有可能让您继续参与这一过程,那将是最理想的。