2012-03-15 8 views
12

私はEmberJSのオンラインガイドを使って作業していますが、これはヒットやミスのプロセスになっています。 Sproutcore2では、コマンドラインコマンドを使ってプロジェクトのディレクトリ構造を生成し、それを使って処理することができました。まあ、Emberとはむしろマニュアルです。私はモデル、ビュー、コントロールをそれぞれのフォルダに分けることができるプロジェクトのディレクター構造を設定できるようにしたいと考えています。私はそうしようとしていますが、ステートメントがMVCフォルダから正しくインポートされていないことが必要です。私は "todos"アプリをダウンロードしましたが、期待通りのディレクトリ構造が示されていないので、それは助けになりません。EmberJSプロジェクトのディレクトリ構造を設定していますか?

"app"が私のファサードになる単純な "HelloWorld"アプリケーションから始めたいのですが、モデル、ビュー、コントロールをそのフォルダからインポートすることができます。このフォルダはmvcフォルダ内の " HelloWorldApp "フォルダに保存されます。すべてのあなたの助けを感謝します。

がHelloWorldApp(プロジェクトディレクトリ)
    - >エンバー-0.9 - > JS(ディレクトリ)
    - >のlib(ディレクトリ)
                     。 5
   >エンバー-0.9.5.min
                      - - > jQueryの-1.6.1.min

    - >テンプレート(10                ディレクトリ)
                    - >メインビュー・テンプレート

    - > MVC(ディレクトリ)
            - >モデル(ディレクトリ)
            - >図(ディレクトリ)
            - >コントロール(ディレクトリ)

    - > CSS(ディレクトリ)

アプリ(app.js)
あるindex.htm

答えて

-3

さまざまなアプローチを試した後、ember-0.9.5がjavascript経由で呼び出された直後に、インデックスファイル内のすべてのモデル、ビュー、およびコントローラを宣言しました。私がそれをしたら、私はモデル "Person"を "app"でインスタンス化することができました。

Thx。

+2

ああ、それは大きなアプリにとって恐ろしいことになるだろう。 'app/lib'ディレクトリの下のフォルダにそれらを宣言することができます。すべてが正しい順序で構築されていることを確認するために 'require()'を使うのを忘れないでください。 –

+0

ロイ、それをして、他の方法を試してみました。 "app/lib"の下にあるフォルダ内でそれらを宣言すると動作しません。あなたが私の質問を調べるなら、私は "require"ステートメントが "packages/namespaces"をインポートしていないと述べました。そして私はあなたに同意します...それらをインデックスファイルに含めることは恐ろしい方法です。 – Combustion007

+0

Combustion、あなたが今これを行うより良い方法を見つけたのか不思議です。あなたが持っている場合は、それについてもっと投稿してもいいですか?私はちょうどember(そして一般的なWebアプリケーション)を使い始めています。そして、一度に飲み込むことはたくさんあります - どんな情報も感謝しています。 – iX3

8

ツールを構築エンバーの初期のアルファを見てみましょうテンプレート構造(Ember-Skeletonに基づく):https://github.com/emberjs/ember-gem/tree/master/lib/ember/templates/app。私はこの構造に非常に近い何かがデフォルトの前進になると思います。

+0

こんにちは、このリンクに感謝しています。私はこのリソースを通って一日を過ごしました。今、このコードにファサードがどこに埋め込まれているのか把握しようとしています。 EmberJSのオンラインドキュメントで何らかのデモンストレーションを利用できるのはうれしいことでした。 – Combustion007

+1

アプリケーションが作成されると、グローバルプロパティ 'App.stateManager'も作成されます。それはViewStateである初期開始状態、 'App.StartState'を持っています。 ViewStateは通常の状態と似ていますが、ViewStateに入ったり終了したりすると、その 'view'プロパティに定義されている' Ember.View'が自動的に追加されるという特別な機能があります。したがって、上記のテンプレートでは、viewプロパティはテンプレートmain_pageで定義されたビューを持っています。そのテンプレートには、最初のテンプレートが表示されます。起動時にコードを実行する必要がある場合は、main.jsに 'MyApp.ready = function(){//..init code goes here ...} 'を追加してください。 –

+0

ロイ、説明にはおかげさまです。あなたの最後のコメントの前に、私は "州"について何も知らなかった。しかし、私は "状態"がどのように機能するかを知っています。私は "Adobe Flex"について長い歴史を持っています。私はあなたにこれを尋ねる必要があります。なぜEmberJsのオンラインドキュメントに「州」やデモコードがないのですか?私は、オープンソースの努力であろうとなかろうと、適切なオンライン文書なしでフレームワークを導入するのはむしろ貧弱な方法だと思いますか?最後のコメントであなたが何を共有したかについては、考えを得るためにいくつかのコードを "jsfiddle"することは可能でしょうか。 – Combustion007

関連する問題