0

最近、ember-cli 0.2.0 を 0.2.1 にアップグレードし、次のコマンドを実行して mixin を生成しました。

ember g mixin listener

生成ファイルは に配置されましたaddon/mixins/listener.js

生成されたテストは次のようになります。

import Ember from 'ember';
import ListenerMixin from '../../../mixins/listener';
import { module, test } from 'qunit';

module('ListenerMixin');

// Replace this with your real tests.
test('it works', function(assert) {
  var ListenerObject = Ember.Object.extend(ListenerMixin);
  var subject = ListenerObject.create();
  assert.ok(subject);
});

テストは失敗し、次のエラー メッセージが表示されます。

dummy/mixins/listenerからインポートされた モジュールが見つかりませんでしたdummy/tests/unit/mixins/listener-test

私のミックスインは入っていて、入っ/addons/ていないはずです/app/

テストでモジュールを見つけるために何を変更する必要がありますか?

0.2.0 から 0.2.1 にアップグレードしたとき、アップグレードのドキュメントに従い、ドキュメントのすべての手順を実行しました。

しかし、この行:

ember init

このエラーが返されましたが、これはそれと関係があると思います:

既存の ember-cli プロジェクトでのアドオンの生成はサポートされていません。

4

3 に答える 3

4

Ember-CLI 0.2.3 でこの問題に遭遇しましたが、リゾルバーにはアドオンの一部である Mixins にまだ問題があるようです。Ember-CLIのデフォルトを置き換えることでこれを解決しました:

import MyMixin from '../../../mixins/my-mixin';

に ...

import MyMixin from '[addon-name]/mixins/my-mixin';

私のために働きます。それがあなたにとってもうまくいくことを願っています。

于 2015-04-13T08:09:49.727 に答える
1

アプリ ツリーに別の mixin を作成して、親アプリのツリーとマージすることができます。

import ListenerMixin from 'addon-name/mixins/listener';

export default ListenerMixin;

それを望まない場合は、この行を変更する必要があります。これmodule('ListenerMixin');は、アプリ ツリーでそのモジュールを見つけようとするためです。行 2 を次のように変更することもできます。import ListenerMixin from 'addon-name/mixins/listener';

于 2015-04-10T10:50:22.843 に答える