問題タブ [ember-app-kit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Ember App Kit プロジェクトのベンダー フォルダーが空です
現在、私は EmberJS でプロジェクトを開始しようとしています。私がインターネットで見つけたものによると、Ember App Kit は、アプリケーションを開始するための優れた「テンプレート」です。
そのため、入門ガイドに従いましたが、問題が発生しています。
npm、bower、grunt をインストールし、そのページに記載されているすべてのコマンドを実行しました。しかし、ベンダー フォルダーは空のままです。したがって、すべてを開始grunt server
してブラウザに移動すると、localhost:8000
何も表示されません (ベンダー ライブラリ (jQuery、Ember など) の 404 が大量に表示されます)。
/vendor ではなく public/js/libs に配置されていることがわかりました (ただし、このフォルダーは存在します)。index.html のアドレスをそこを指すように変更できます。しかし、それは私がすべきことだとは思いません。
私は何か間違ったことをしましたか、それとも何かを忘れましたか。
authentication - Ember App Kit 内で ember-simple-auth をテストする
Ember アプリの統合/承認テストを実行しようとしています。具体的には、ユーザー認証 (ログイン フォームの送信など) と、認証されたユーザーを必要とする保護されたページ/状態をテストしています。
私のアプリに関する一般的な注意事項:
- Ember アプリ キットの使用
- 認証にember-simple-authを使用する
- Deviseオーソライザーを使用してヒットするember-simple-authフォームのAPIスタブがあります。これらは、ブラウザー内でアプリを実行するときに正常に機能します。
3 つの問題があります。
1. オーセンティケータとエフェメラル ストレージの工夫
ember-simple-auth API からは、テストにエフェメラル ストレージを使用することを指します。私はそうしました、このように。ただし、セッションはまだローカル ストレージに保存されているようです。各テストで実行しないとlocalStorage.clear()
、最初のテストの後に各テストを実行するときにログインしたままになるため、セットアップ/ティアダウン テストが失敗します。
アプリで Devise オーセンティケーターを使用している場合、各テスト間でセッションをローカル ストレージに保存しないようにすることはできますか?
2. 複数の受け入れテスト
複数のユーザーにログインしようとするとtest()
、テストがスピンオフして無限ループになります。最初のテストはパスしますが、2 番目のテストがログイン フォームを送信すると、テスト スイート全体が停止して再起動します。
統合テスト #1
統合テスト #2
3. EAK api-stubs & Testem
EAK の api- stubs は Testem で使用できないようです。そのため、これらの受け入れテストの「ログイン」プロセスをコマンド ライン/Testem 経由で実行すると失敗します。
sinon.js をセットアップしようとしましたが、上記の問題により、実際に正しく機能しているかどうかを判断できませんでした。ember-simple-auth を使用してユーザーのログインを正常にスタブ化する最良の方法は何ですか? Testem に EAK の API スタブを使用することは可能ですか?
ember.js - Ember App Kit を使用する場合、パーシャルに名前を付ける/整理する方法は?
今日、部分的な単純なプロジェクトをリファクタリングしていました。ES6 を使用してグローバルからモジュールに更新したとき、ember がパーシャルを見つけられないという問題に遭遇しました (これはアップグレード前に機能していました)。
部分ファイルは _foo.handlebars という名前で、ルート テンプレート フォルダーに配置されました (アプリがグローバルの場合のようにネストされていません)。
これは、Grunt を介してコンパイルされた最終的な deps.min.js で利用可能でした (これもグローバル バージョンと同じプロセスです)。親テンプレートでは、そのように参照されていました
EAK を使用するには、私が知らない特別な方法でパーシャルに名前を付けたり整理したりする必要がありますか?
ember.js - Ember App Kit (EAK) は、すべてのコンポーネント関連情報を 1 つのフォルダーに保存します
ember コンポーネントを作成し、関連するすべてのコンポーネント パーツ (テンプレート、スクリプトなど) を同じフォルダーに保存したいと考えています。現在の Ember アプリ キットでは、すべてのコンポーネント js ファイルを appkit/components フォルダー内に保存し、テンプレート ファイル (.hba) を appkit/templates/components フォルダー内に保存する必要があります。
これは、命名規則とアプリキット リゾルバーによるものです。
この動作をオーバーライドする方法はありますか。
私のコンポーネントフォルダー構造の目標は.
フーフォルダ
- index.hbs
- index.js
- script2.js
現在のフォルダ構造
/components/index.js /templates/components/index.hbs
jquery - EmberJS: サーバーから共通のビューを作成する
私は EmberJS を使用する初心者で、いじってみようとしています。私は Ember AppKit を使用しています。
のページがありますlocalhost:8000/#/home
。私のグローバルな application.hbs には、複数のビューがあります。ヘッダー、ナビゲーション、フッター、および現在のページをロードするための中間の {{outlet}} です。
アプリケーション.hbs:
サーバーを呼び出して、現在のページhome.hbs
にモデル、ルート、およびアダプターを入力する方法を見つけました。
ルート/home.js:
アダプター/home.js:
models/home.js
(上記は一例です)
しかし今、サーバーからも共通のビューのコンテンツを取り込む方法を探しています。これらはページではないため、ルートは必要ありません。アクセスしたくないlocalhost:8000/#/header
私のコンテンツはAPIで利用できますが、localhost:8000/api/content/header
そのようなことをするために私が従うべきアプローチについて何か考えがありますか? $.getJSON を使用してコントローラー内で直接呼び出しを行うことを考えていましたが、それが最善の方法かどうかはわかりません...
ありがとう
ember.js - Ember データの読み込み hasMany リレーションが Ember App Kit (EAK) で機能しない
2 つのモデル間の hasMany 関係と、hasMany と hasOne 間の hasOne (現在のバージョンの Ember Data では belongsTo) を設定しようとしています。
私は Ember Data を扱っており、Ember の規則に従って動作する RESTful API を作成しました。すべてのクラスを個別に照会できます。
したがって、目標は、 をフェッチして、を介してアタッチされている をBookmark
取得することです。toリレーションが機能するようになったら、私はすでにかなり満足しています。ここに投稿されたすべての質問を調べましたが、残念ながらうまくいきませんでした。Terms
Termbinding
Bookmark
Termbinding
Router.js
Bookmark.js
Termbinding.js
これにより、ブックマークアプリケーションに Ember を使用できなくなっているため、誰かが私を助けてくれることを願っています。前もって感謝します。
ember.js - Ember アプリキットと ember-oauth2
私は Ember を初めて使用し、Ember App Kit ベースの Ember App でhttps://github.com/amkirwan/ember-oauth2ライブラリを使用しようとしています。
私はたくさん検索しましたが、次の答えが見つかりません:
ember-oauth2 は、他の場所で必要な App.oauth グローバルを作成します
App.oauth = Ember.OAuth2.create({providerId: 'google'}); App.oauth.authorize();
次に、コントローラーでアクセスしたいと思います。ただし、「App」オブジェクトはコントローラーでは使用できません。コントローラーのアプリ レベルで定義されたグローバル オブジェクトにアクセスするにはどうすればよいですか?
また、コールバック HTML で window.App.oauth 変数を使用するため、コンパイル後に oauth グローバルを使用できるようにする必要があります。