如何在ember.js中使用ES6模块(使用ember cli)?

时间:2017-04-11 18:03:50

标签: ember.js ember-data ember-cli es6-modules

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

ember g route tesit

然后我在app / routes / testit / logger.js

中创建一个函数



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

export default logger;




并将其导入我的控制器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

我该如何解决?

1 个答案:

答案 0 :(得分:4)

.js行删除import logger from './testit/logger.js';个分机号。

请参阅MDN的Description section