由于不推荐使用 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
答案 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上询问?
祝你好运!