【发布时间】:2017-09-07 06:27:57
【问题描述】:
当我使用 cli 生成控制器/路由/模型等时,使用 ember 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
我该如何解决?
【问题讨论】:
-
从
import logger from './testit/logger.js'中删除.js -
感谢 ykaragol,很有趣 - babel 可以与扩展一起使用,也可以在没有它的情况下使用。但这有效 - 太棒了! :-)
-
感谢艾伦·博古。我将其复制为答案并添加了参考。
-
另请注意,这是 Ember 认为的 util,最好放在 utils 文件夹中。在某个时候,一旦新的 Ember 解析器就位,这可能是一个要求......
标签: ember.js ember-data ember-cli es6-modules