2017-04-11 63 views
2

使用ember cli设置的标准项目好像在使用cli生成控制器/路由/模型等时使用ES6模块。有时候,虽然我想导入/导出一个额外的功能/模块,即。我可能想要在控制器中使用一个单独的文件编写一个函数。 当我尝试以标准ES6方式导入函数时,ember-cli似乎在处理它时遇到了问题。 比方说,我已经创建了控制器:如何在ember.js中使用ES6模块(使用ember cli)?

ember g route tesit 

然后我在app /路由/调用testIt/logger.js

const logger = function(msg) { 
 
    console.log(msg); 
 
}; 
 

 
export default logger;

创建一个功能,它导入我的controller app/routes/testit.js:

import Ember from 'ember'; 
 
import logger from './testit/logger.js' 
 

 
export default Ember.Route.extend({ 
 
    beforeModel() { 
 
    logger('it works'); 
 
    } 
 
});

然后我得到以下错误:

Error: Could not find module myproject/routes/testit/logger.js imported from myproject/routes/testit

我该如何解决呢?

+2

从'import logger'中删除'.js'/testit/logger.js'' – ykaragol

+1

感谢ykaragol,有趣的是 - babel可以和扩展一起使用,也可以不使用它。尽管如此 - 真棒! :-) –

+0

感谢Alan Bogu。我将它复制为答案并添加了一个参考。 – ykaragol

回答