Javascript 余烬:“;从'导入路线@余烬/路线/路线'&引用;在控制台中抛出错误

Javascript 余烬:“;从'导入路线@余烬/路线/路线'&引用;在控制台中抛出错误,javascript,ember.js,import,routing,importerror,Javascript,Ember.js,Import,Routing,Importerror,我正在遵循(ember cliv2.11),并按照说明构建玩具应用程序。在“定义路由”部分,说明中说要运行命令ember generate Route scientists,该命令将路由添加到router.js,并在routes文件夹中创建一个新的scientists.js文件。我注意到scientists.js中自动生成的代码包含以下内容: import Route from '@ember/routing/route'; export default Route.extend({ });

我正在遵循(
ember cli
v2.11),并按照说明构建玩具应用程序。在“定义路由”部分,说明中说要运行命令
ember generate Route scientists
,该命令将路由添加到
router.js
,并在
routes
文件夹中创建一个新的
scientists.js
文件。我注意到
scientists.js
中自动生成的代码包含以下内容:

import Route from '@ember/routing/route';

export default Route.extend({
});
import Ember from 'ember';

export default Ember.Route.extend({
});
说明中说,一旦我用文本填写了相应的
科学家
模板,我应该能够导航到
localhost:4200/scientists
,并查看(除其他外)我添加到
科学家
模板中的文本。但是,当我这样做时,DOM为空,并且控制台包含一个错误:

Uncaught Error: Could not find module `@ember/routing/route` imported from `ember-quickstart/routes/foobar`
    at missingModule (loader.js:247)
    at findModule (loader.js:258)
    at Module.findDeps (loader.js:168)
    at findModule (loader.js:262)
    at requireModule (loader.js:24)
    at Class._extractDefaultExport (resolver.js:385)
    at Class.resolveOther (resolver.js:82)
    at Class.superWrapper [as resolveOther] (ember-utils.js:437)
    at Class.resolveRoute (resolver.js:304)
    at Class.resolve (resolver.js:141)
从以前对Ember应用程序的研究中,我知道我可以用以下内容替换默认路由内容:

import Route from '@ember/routing/route';

export default Route.extend({
});
import Ember from 'ember';

export default Ember.Route.extend({
});
事实上,这确实有效——我看到了我期望看到的,控制台中没有错误

我的问题是,为什么说明书没有产生我预期的结果?我觉得我错过了一些基本的东西,但是快速入门页面很短,我看不出哪里出了问题


顺便说一句,我也尝试了生成组件的相同步骤,这导致了相同的控制台错误。

此模块导入仅支持从ember 2.16版开始。

但是我在
包.json
文件中列出的版本是2.11版,我下面的快速入门指南也是针对2.11版的。那么为什么v2.11
ember generate route
命令会使用仅受>=v2.16支持的导入语句呢?如果这确实是原因,为什么余烬文件不提到这一点?这似乎是一件非常重要的事情。ember-cli 2.11版不会使用新的导入语法创建蓝图。请确认您是否正在使用我的项目目录中的版本ember cli latestRunning
ember--version
生成以下内容:ember cli:2.11.0节点:4.5.0 os:darwin x64此语法从“@ember/routing/Route”导入路由;不会来自ember cli v 2.11生成的路由文件。但在您的机器环境中,它正在到来。我们遗漏了一些明显的原因,但不确定这是什么…希望有人能对此有更多的了解。刚才注意到,列在
npm列表顶部的目录-g
结果是针对nvm v4.5.0的,但在我的其他项目中,我经常使用nvm v7.5.0。我切换到nvm 7.5.0版(
nvm use 7.5.0
)并重新运行了该命令,这次我确实看到了某些与Ember相关的依赖项,包括
Ember cli
,但这仍然是v2.11。在搜索这些结果以查找
2.16
时,未找到与余烬相关的内容。这是第二个带有新输出的pastebin链接: