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.11ember generate route
命令会使用仅受>=v2.16支持的导入语句呢?如果这确实是原因,为什么余烬文件不提到这一点?这似乎是一件非常重要的事情。ember-cli 2.11版不会使用新的导入语法创建蓝图。请确认您是否正在使用我的项目目录中的版本ember cli latestRunningember--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链接: