我有一个mixin app / mixins / ui-listener.js,我正在努力使用Ember-CLI.我正在尝试使用以下语法的mixin:
import ListenerMixin from './mixins/ui-listener'; export default Ember.Component.extend(ListenerMixin,{ // class definition }
当我保存它失败,抱怨
ENOENT,no such file or directory ‘tmp/tree_merger-tmp_dest_dir-74tK3rvD.tmp/[app-name]/components/mixins/ui-listener.js’
似乎很有趣的是,“mixins”目录嵌套在“components”目录下(Ember-CLI将这些目录放在同一个级别),但这可能只是Brocoli的构建步骤.无论如何,任何帮助将不胜感激.
解决方法
我不知道你如何导出你的mixin但这应该工作:
在mixins / ui-listener.js中:
import Ember from 'ember'; export default Ember.Mixin.create({ //some stuff });
在components / my-component.js中:
import Ember from 'ember'; import UiListenerMixin from '../mixins/ui-listener'; export default Ember.Component.extend(UiListenerMixin,{ // some stuff });