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

时间:2018-11-08 17:16:37

标签: ember.js internationalization intl ember-intl

由于不推荐使用 ember-i18n ,因此我在应用程序中添加了模块 ember-intl 。 所以yarn工作良好,更新package.json和yarn.lock(我摆脱了package.lock), 但是在成功完成余烬生成后,我在浏览器的控制台上收到此错误:

  

错误:找不到模块@ember-intl/intl-relativeformat   从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
  灰烬数据:3.5.0
  的jQuery:3.3.1   灰烬重铸:2.18.0

2 个答案:

答案 0 :(得分:1)

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

只需运行ember install ember-auto-import就可以了。

答案 1 :(得分:0)

我刚刚安装了它,以查看是否有空白显示该错误。

没有。 :/

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

文档显示:

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

但与大多数文档一样-假设您知道更大的生态系统。您极有可能未导入模块上方 import Service from '@ember/service';等? https://guides.emberjs.com/release/applications/services/

如果不是...,则查找提到的'ember-intl / services / intl',看看是否可以弄清楚为什么'@ ember-intl / intl-relativeformat'导入并不令人高兴。也许检查存储库和版本-并在GitHub上询问?

祝你好运!