You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ember 5.7/5.3+TypeScript注入store时出现Cannot read properties of undefined错误

解决Ember中注入Store服务时的TypeError问题

核心问题

你当前的服务文件命名和路径不匹配Ember的服务注册规则:

  • 路由中使用@service store;注入服务时,Ember会自动查找app/services/store.js文件
  • 但你的服务文件实际是app/services/service.js,这会导致Ember无法正确识别并加载Store服务,进而触发Cannot read properties of undefined (reading 'default')错误

解决步骤

  1. 修正服务文件名称
    将app/services/service.js重命名为app/services/store.js,确保文件名和你要注入的服务名称store完全一致。

  2. 确认服务导出代码
    修正后的app/services/store.js保持原有代码即可,因为Ember Data的Store本身就是可直接导出的服务:

    export { default } from 'ember-data/store';
    
  3. 清理缓存并重启服务
    运行命令清理Ember缓存,避免旧的模块解析记录干扰:

    ember clear
    

    随后重启开发服务器:

    ember serve
    
  4. 验证依赖正确性
    检查项目package.json,确保ember-data依赖已正确安装,且版本与你的Ember版本兼容。若缺失,可执行以下命令安装:

    npm install ember-data --save-dev
    

补充说明

你的路由、适配器、序列化器代码均无问题,只要服务文件的名称和路径正确,Store服务就能正常注入,不会再触发该错误。

内容的提问来源于stack exchange,提问作者rykantas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 06:27:01