Ember:找不到从“ember-intl/services/intl”导入的模块“@ember-intl/intl-relativeformat”

Ember : Could not find module `@ember-intl/intl-relativeformat` imported from `ember-intl/services/intl`

我在我的应用程序中添加了模块 ember-intl,因为 ember-i18n 已弃用. 所以 yarn 运行良好,更新 package.json 和 yarn.lock(我摆脱了 package.lock), 但是在成功 ember build:

之后,我在浏览器的控制台上收到了这个错误

Error: Could not find module @ember-intl/intl-relativeformat imported from ember-intl/services/intl

但是在我的 node_modules 文件夹中 @ember-intl/intl-relativeformat 和 ember-intl 都存在。 在 yarn.lock 我有这一行: "@ember-intl/intl-relativeformat@^2.1.0":

更多信息:

Ember : 3.5.1
Ember Data : 3.5.0
jQuery : 3.3.1 Ember Remodal : 2.18.0

我刚刚安装了它,看看空白页是否会向我显示该错误。

没有。 : /

我刚喝了几杯啤酒...但我只想确保您导入该服务。

文档显示:

// app/routes/application.js
export default Route.extend({
  intl: service(),
  beforeModel() {
    return this.intl.setLocale(['fr-fr', 'en-us']); /* array optional */
  }
});

但像大多数文档一样 - 假设您了解更大的生态系统。您可能没有导入 above import Service from '@ember/service'; 等模块的可能性很小? https://guides.emberjs.com/release/applications/services/

如果不是那样...那么追踪提到的 'ember-intl/services/intl' 看看你是否能弄清楚为什么 '@ember-intl/intl-relativeformat' 导入不是 jiving。也许检查 repo 和版本 - 然后在 GitHub?

上询问

祝你好运!

我通过将 ember-auto-import 添加到我的项目中解决了这个问题。它预装在新的 Ember 项目中,但需要手动添加到旧项目中。

只是 运行 ember install ember-auto-import 就是这样。