使用 moment-jalaali.js 加载仪表板报告时出错

继续讨论:如何为波斯语正确显示 Jalali 日期

如上所述,我们已在主题中添加了 moment-jalaali 脚本,并修改了站点文本设置中的日期显示格式。

    ...
    <script src="https://cdn.jsdelivr.net/npm/moment-jalaali@0.9.2/build/moment-jalaali.js"></script>
</body>

通过此操作,希吉来历(Hijri Shamsi)日期的显示问题已解决。但在添加该脚本后,仪表板报告将失败,并出现以下错误:

Uncaught TypeError: Cannot read property 'split' of null

调试时,我们观察到该错误。

我想我会将这个问题归类为 Support#feature request。

您正在寻找一种受支持的方式来添加 Jalaali 日历,但目前并没有官方支持的方案。我们现有的方法只是一种变通方案。

目前尚不清楚您的版本是否匹配。

我支持将其发展为某种正式的官方版本或官方组件。

一个复杂的情况是,从长远来看,我们计划逐步弃用 moment。

谢谢 Sam,
是的,你说得对,Support 就在这里。如果这是官方支持的,那太好了。
我之所以在这里提问,是因为也许 Discourse 团队更清楚问题的根源并能指导我。这个问题出现得很奇怪!除了这个案例和另一个案例外,这个解决方案在单向(仅显示)情况下都能正常工作。我们使用的是最新版本的 Discourse。

第一步是确保你正在修改的脚本与我们在核心中使用的 moment.js 版本完全一致。你能确认一下吗?

我们使用的是脚本的 0.9.2 版本。该版本基于以下依赖项运行:

  "devDependencies": {
    "chai": "^4.2.0",
    "eslint": "^6.7.1",
    "mocha": "^5.2.0"
  },
  "dependencies": {
    "jalaali-js": "^1.1.0",
    "moment": "^2.22.2",
    "moment-timezone": "^0.5.21",
    "rimraf": "^2.6.2"
  }

moment-jalaali/package.json at v0.9.2 · jalaali/moment-jalaali · GitHub