1

私は Ember を初めて使用しますが、Ember CLI を使用してプロジェクトを作成し、途中で作業を進めています。学ぶことはたくさんありますが、これまでのところ非常に感銘を受けています。

とにかく、私の理解では、Ember CLI プロジェクトはブロッコリーのファイル監視機能を使用して「継続的な開発」環境を作成しています。テンプレートや JavaScript ファイルを変更すると、ブラウザに戻るとすぐに変更が反映されます。

しかし、css ファイルに変更を加えると、アプリがクラッシュします。コンソール出力は以下のとおりです。でアプリを再起動するとember server、すべてが期待どおりに機能することに注意してください。したがって、これは CSS 構文エラーなどではありません。

だから...これは確かに私にはバグのように思えますが、私はここではとても新しいので、非常に基本的な何かが欠けているのではないかと思っています.

SASS ファイルについても話していません。によって生成された非常に小さな /app/styles/app.css で単一の文字を変更すると、このエラーが発生しember newます。また、スタイル ルールを my.css というファイルに移動して、この 1 行を除いて app.css を空のままにしてみました: @import 'my.css';No love.

誰でも助けることができますか?前もって感謝します、

-ビリーB

D:\BitBucket\dispatch-alert\node_modules\ember-cli\node_modules\broccoli-sane-watcher\node_modules\sane\index.js:246
Object.keys(this.dirRegistery[dir]).forEach(function(file, i, arr) {
     ^
TypeError: Object.keys called on non-object
at Function.keys (native)
at Watcher.detectChangedFile (D:\BitBucket\dispatch-alert\node_modules\ember
-cli\node_modules\broccoli-sane-watcher\node_modules\sane\index.js:246:10)
at Watcher.normalizeChange (D:\BitBucket\dispatch-alert\node_modules\ember-c
li\node_modules\broccoli-sane-watcher\node_modules\sane\index.js:280:10)
at FSWatcher.EventEmitter.emit (events.js:98:17)
at FSEvent.FSWatcher._handle.onchange (fs.js:1039:12)

アップデート:

私がこれまでに得た助けに基づいて (ありがとう)、少し突っついたところ、理論があります: 他のディレクトリや他のエディターのファイルを問題なく編集できるため、 app/styles は単純ではないと結論付けます「監視された」ディレクトリのリストに。これは省略による単純なエラーである可能性がありますが、意図的ではないかどうか疑問に思っています。このディレクトリは、Compass やその他の CSS プリプロセッサによって処理されるディレクトリではないでしょうか。独自のファイル監視システムがあるか、問題がある可能性があります。おそらく、ember-cli の作成者は意図的にこのディレクトリを省略したのでしょうか?

どうすればこれを見つけることができますか? そして、私は何をすべきですか?ember-cli プロジェクトにアクセスして、そこで支援を求めますか? 監視されているディレクトリのリストが保持されている場所を見つけようとしましたが、これまでのところ成功していません。

4

1 に答える 1

0

当面の回避策は、sane モジュールの 246 行目の index.js を (エラー メッセージと私のエラー メッセージに従って) 変更し、次のようなものを追加することです。

if (!this.dirRegistery[dir]){
    console.log('error',' empty/unkown dir',dir);
    callback();
    return;
}

これが有効な修正であるかどうかはわかりません。どういうわけか、これは崇高に関連しています。(キャッシング、ファイルロック?)..

于 2014-06-25T15:26:18.707 に答える