問題タブ [ember-addon]
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.
ember.js - 残り火。アドオン用にルーターを拡張
複数のプロジェクトで共有できるアドオンに共通のルートを定義したいと考えています。
Ember フォーラムで解決策を見ましたが、これが正しいアプローチなのか、それとも正しく行っているのかわかりません。 http://discuss.emberjs.com/t/how-to-extend-router-by-mixin-defined-in-an-addon/7553/5
アドオン/utils/route_setup.js:
アプリ/ルーター (ダミーアプリ):
エラー:
ember.js - エンバーアドオン。受け入れテスト: undefined はコンストラクターではありません
私が構築し、すべてのテストに合格した Ember アプリからアドオンを構築しています。ダミーアプリに同じ受け入れテストを使用しようとしてテストを実行すると、多くのテストでこのエラーが発生します (PhantomJS のみ。すべてのテストはどのブラウザーでもパスします)。テストフレームワークとして mocha と chai を使用しています
ember.js - エラー: アサーションに失敗しました: 「ハッシュ」という名前のヘルパーが見つかりませんでした
Ember.js アプリケーションをさまざまなアドオンに分解しようとしました。一部のコンポーネントをアドオンに移動しました。しかし、ヘルパーを使用するコンポーネントのテストでhash
、次のエラーが発生しました。
Error: Assertion Failed: A helper named 'hash' could not be found
何が原因で、どうすれば解決できますか?
ember.js - {{#each}} ブロックで ember-power-select を使用する方法
以下のコードに示すように、hbs テンプレートで {{#each}} ブロックを使用して ember-power-select ボックスを生成しています。
上記のコードは、2 つの選択ボックスを生成します。しかし、最初のボックスで値を選択すると、同じ値が 2 番目のボックスにも複製されます。
2 つの選択ボックスを区別する方法は何ですか?
ember.js - Ember バージョン 1.13 未満のアプリで Ember-hash-helper-polyfill を使用できますか?
Ember-hash-helper-polyfill の Readme には、ember バージョン 1.13 -> 2.2 で使用できると書かれています。古いバージョン(1.11など)では使えないということですか?
ember.js - ember アドオンの scss ファイルを消費アプリに直接含める方法
TL;DR
scss
ember アドオンから消費者アプリにファイルをインポートする方法(scss ファイルをインポートする必要があり、処理されたcss
ファイルではなく、scss
代わりに消費者のアプリで処理する必要があります)。
詳細:
私はアドオンを開発しており、設計に sass を使用しています。ユーザーがアドオンから css プロパティを構成できるようにしたいと考えています。このために、scss
ファイルを消費者アプリに直接インポートし(ファイルに移動するcssファイルにコンパイル済みのものを使用したくありませんvendor.css
)、変数の値の一部をオーバーライドします。
これがどのように機能するかについての計画は次のとおりです。
構成可能scss
にしたいいくつかの変数を含む構成ファイルがあります。ユーザーは、最初に独自の構成scss
ファイルとそのscss
下のファイルを含めることで、これらの変数をオーバーライドできます ( scss 変数をオーバーライド可能にし、オーバーライドする方法の詳細)。
のファイル構造addon/styles
は次のとおりです。
次のように、addon.scss 内のすべての css ファイルをインポートしました。
ユーザーに上書きしてもらいたい値は_config.scss
. ファイルの一部は_config.scss
次のようになります。
のような変数に独自の値をユーザーに提供してもらい、アドオンが含まれる前に含めるよう$header-font
にします。$header-font-size
scss
残り火バージョン:1.13.3
npm - 開発者ビルド用に ember アドオンをローカル NPM レジストリに公開しますか?
これらの NPM/ember アドオン シナリオをどのようにサポートできますか?
- 開発者は ember アドオン A をビルドし、A ローカル パッケージを使用するビルド ember アプリケーション B を使用します
- 開発者は、nexus NPM 統合リポジトリから A をインストールするだけで B をビルドします
- ビルド システムは、nexus NPM リリース リポジトリにインストールする ember アドオン A をビルドします
メイヴン
- 開発者デスクトップ ビルドは、後でビルドで使用するローカル リポジトリにインストールパッケージをビルドします。
- ビルド システム ビルドは、開発者が使用する内部共有リポジトリにパッケージをデプロイするため、すべてをビルドする必要はありません。
NPM
- ビルド システムのビルドでは、npm publish --registry http://ourrepo/nexus/ ....を使用してプライベート レジストリに公開できます。
- デスクトップビルドを開発する????
相対パスで DependsOnMe を使用することもできますが、そのためには、ビルドがローカルで一方向に機能し、ビルド マシン上で別の方法で機能する、ある種のルールをセットアップする必要があります。
可能ですが、これを実現するためのよりエレガントなソリューションがあることを願っています。
開発者に、後で使用するためにローカルの npm キャッシュに入れるパッケージを生成させることはできますか? もしそうなら、そのドキュメントを教えてもらえますか?
関連している
ember.js - ember アドオン test-support ディレクトリ
アドオンにいくつかのテスト ヘルパーがあります。したい:
- これらのヘルパーをアドオン自身のテストに使用します。
- 自分のコードをテストするために、これらのヘルパーをアドオンのユーザーが利用できるようにします。
ドキュメントtest-support
では、上記の 2 番目の要件を満たすために使用できると言われています。しかし、両方で機能させる方法が見つかりませんでした。