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

Ember.js集成Torii认证时出现'ember is not defined'错误及弃用警告

问题分析与解决方案

问题根源

你遇到的ember is not defined崩溃错误,以及相关的弃用提示,核心原因是Torii 0.10.1依赖的ember-cli-babel@6.18.0版本过低。Ember 4.6.0已经不再默认暴露全局Ember变量,但旧版ember-cli-babel会把模块导入转译为全局Ember API调用,导致运行时找不到该全局变量,直接引发崩溃。

解决方案

1. 升级Torii到兼容Ember 4.x的版本

Torii 0.10.1是老旧版本,不支持Ember 3.24及以上版本(包括你用的4.6.0)。执行以下命令升级到最新兼容版:

npm install torii@latest --save-dev
# 用yarn的话执行:
yarn add torii@latest --dev

如果最新版仍有兼容问题,可以尝试安装torii@next尝鲜分支,或者查看Torii官方文档确认适配Ember 4.x的具体版本。

2. 确认依赖版本达标

升级完成后,检查项目依赖树,确保ember-cli-babel版本≥7.26.6:

# npm用户
npm ls ember-cli-babel
# yarn用户
yarn list ember-cli-babel

确认Torii现在依赖的ember-cli-babel版本符合要求,避免旧版本残留。

3. 清理缓存并重启服务

升级依赖后,清理Ember和包管理器缓存,避免旧代码干扰:

# 清理Ember缓存
ember clear
# 清理npm缓存
npm cache clean --force
# 用yarn的话执行:
yarn cache clean

之后重启开发服务器:

ember serve

补充说明

  • 旧版ember-cli-babel(低于7.26.6)会自动将ES模块导入转译为全局Ember调用,这种写法在Ember 3.x后期就被标记为弃用,Ember 4.x直接移除了全局Ember变量,所以才会触发崩溃。
  • 如果升级Torii后仍有类似问题,排查项目中其他依赖是否也在使用旧版ember-cli-babel,逐一升级这些依赖即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:30:51