【问题标题】:Ember : Could not find module `@ember-intl/intl-relativeformat` imported from `ember-intl/services/intl`Ember:找不到从 `ember-intl/services/intl` 导入的模块 `@ember-intl/intl-relativeformat`
【发布时间】:2019-04-12 06:27:28
【问题描述】:

我在我的应用程序中添加了模块 ember-intl,因为 ember-i18n 已弃用。 所以 yarn 运行良好,更新 package.json 和 yarn.lock(我摆脱了 package.lock), 但是在成功构建 ember 后,我在浏览器的控制台上收到此错误:

错误:找不到模块@ember-intl/intl-relativeformatember-intl/services/intl导入

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

更多信息:

灰烬:3.5.1
Ember 数据:3.5.0
jQuery : 3.3.1 Ember Remodal:2.18.0

【问题讨论】:

  • 我尝试使用ember 3.5.1ember-cli 3.5.0ember-intl 3.5.0ember-cli-babel 6.17.2 从全新安装中重现此问题。我做了ember new,然后是yarn install,然后将服务注入到一个路由中,并成功地在模型钩子中记录了一个计算属性的值(该属性执行了翻译)。您使用的是最新的 ember cli 和 ember cli babel 吗?根据我的经验,无法找到模块通常与这两个库有关

标签: ember.js internationalization intl ember-intl


【解决方案1】:

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

只需运行 ember install ember-auto-import 即可。

【讨论】:

    【解决方案2】:

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

    它没有。 :/

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

    文档显示:

    // 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”导入不合适。也许检查 repo 和版本 - 并在 GitHub 上询问?

    祝你好运!

    【讨论】:

    • 谢谢,我验证了你提到的导入在这里,服务已设置,还尝试在新的 ember-cli 新应用中安装包,但无法重现同样的问题。
    猜你喜欢
    • 2020-10-28
    • 2014-12-27
    • 2020-11-23
    • 1970-01-01
    • 2018-10-29
    • 2017-06-14
    • 2017-07-10
    • 2023-01-19
    • 1970-01-01
    相关资源
    最近更新 更多