未捕获的错误:找不到模块“ember-qunit”。奇怪的开箱即用的 ember-cli 行为

Posted

技术标签:

【中文标题】未捕获的错误:找不到模块“ember-qunit”。奇怪的开箱即用的 ember-cli 行为【英文标题】:Uncaught Error: Could not find module `ember-qunit`. Odd out-of-the-box ember-cli behavior 【发布时间】:2016-03-19 10:40:23 【问题描述】:

我相信我可能在这里遇到了环境问题,但我对如何解决它感到很困惑。我创建了一个 ember-cli 项目,将其提交给 git,并添加了一些东西。我运行了典型的npm install && bower install 命令并尝试了ember s

虽然网站加载正常,但当我浏览到 http://localhost:4200/tests/ 以确保 qunit 已启动并运行时,我遇到了一些错误。

Uncaught Error: Could not find module `ember-qunit` imported from `ember-project/tests/test-helper

Uncaught Error: Assertion Failed: The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".

这立即引发了一个危险信号,因为我之前创建了几个 ember 项目并且没有遇到类似的问题。我让我的合作伙伴(我在学校)检查项目,运行 npm install && bower install && ember s 并且 qunit 模块对他们来说工作得很好!

我曾多次尝试 git clone 一个新的 repo,甚至完全卸载 node 和 bower,但无论我尝试什么,我似乎都无法启动正常的 /tests 结帐。

我的合作伙伴都在运行虚拟机 - Ubuntu 和 Debian,而我在 Mac 上,但这似乎不是什么大问题,尤其是因为我创建了这个项目!

我已经为此寻找了几个地方(here、here 和 here),但我似乎无法得出适合我的结论。

我确实有一个与我小组其他成员相同的 bower.json。我在下面的图片中包含了我的文件结构、我的 bower.json 和我的 tests/index.html。

screenshot

以下是一些环境统计数据:

ember version: 1.13.13
node: 5.0.0
os: darwin x64
bower: 1.7.1

当我这样做以查看 npm 的版本时,我确实注意到了一点不同,但我不确定这是否重要。

ember -v
  npm: 2.14.10
npm -v
  npm: 3.5.2

【问题讨论】:

我可以从我的伙伴那里拿走我的 bower_components 文件夹并覆盖我自己的 bower_components 文件夹,它似乎可以工作。我将不得不区分这两个目录以查看发生了什么。这还不是答案,但我已经大大缩小了问题的范围。 升级到最新的 ember-cli 后也有这个问题。 Bower.json 文件似乎从依赖项中删除了“ember-qunit”,而 package.json 似乎引入了“ember-cli-qunit”。但是“ember-qunit”包没有被解析或找到。这个问题的答案会很好。 也出现此错误 【参考方案1】:

这似乎是 ember-cli beta 中工作的回归。您可以在这里https://github.com/ember-cli/ember-cli/issues/5411 跟踪进度。 现在,您可以添加

  app.import('bower_components/qunit/qunit/qunit.js');
  app.import('bower_components/ember-qunit/ember-qunit.amd.js');

ember-cli-build.js 作为解决方法。

【讨论】:

以上是关于未捕获的错误:找不到模块“ember-qunit”。奇怪的开箱即用的 ember-cli 行为的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的错误:找不到模块 - Ionic 2

未捕获的错误:找不到模块“typeorm”

未捕获的错误:对 JavaScript 使用动态导入时找不到模块

未捕获的错误:找不到模块“react/jsx-runtime”

未捕获错误:找不到模块'./charset.js'

Meteorjs React “未捕获的错误:找不到模块‘/imports/ui/app’”