私は既存のWebアプリケーションをPolymerに変換しています。 Webアプリケーションは、コンポーネント(Knockoutコンポーネントアーキテクチャ内)とモジュールで構成されています。どちらもRequireJSを使用して読み込まれます。 KnockoutコンポーネントをPolymerのカスタム要素に変換する方法はわかりますが、JavaScriptモジュールを扱う方法はわかりません。 RequireJSモジュールはJavaScriptオブジェクトを返します.JavaScriptオブジェクトは、JavaScriptに渡されます.JavaScriptオブジェクトに依存するパラメータは、define関数に渡されます。モジュールコードがRequireJSではなくHTMLインポートによってロードされている場合、そのオブジェクトを取得する方法はないようです。AMDモジュールをPolymerカスタム要素にインポートする方法は?
たとえば、既存のコンポーネントのいくつかは、日付/時刻操作のためにmoment.js
モジュールを使用します。それらはRequireJSを介してロードされ、モーメントオブジェクトへの参照が渡されます。 Polycastのビデオの1つでは、Rob Dobsonは、をインポートする<script>
タグを含むmoment.html
ファイルを書き込むことをお勧めします。 Polymerカスタム要素はmoment.html
のHTMLインポートを実行できますが、moment.js
モジュールから返されたオブジェクトへのコンポーネントアクセスは許可されません。モーメントはそのオブジェクトをグローバル名前空間に入れません。したがって、Polymerカスタム要素はモーメントオブジェクトにどのようにアクセスしますか?イッツhttps://github.com/PolymerLabs/IMD
:私はIMDと呼ばれるようなものを作っ
「あなたはポリマー/ HTMLのインポートで動作するモジュールローダ/レジストリを必要とするように、ここでサウンド:
私はPolymerで 'moment'を使用しました。あなたがする必要があるのは、ソースタグを使用してスクリプトをインポートしてから、あなたのploymer関数で 'moment(date).format( 'D MMM YYYY')'のように直接使うことができます – a1626
モーメントの使用は推奨されなくなりました。これを使用すると、コンソールに次のメッセージが表示されます。「廃止予定の警告:グローバルスコープからモーメントにアクセスすることは推奨されておらず、今後のリリースで削除されます。要点は、アプリケーション内のモジュールはグローバル名前空間に何も置くのではなく、RequireJS "define"関数を介して依存コンポーネントへの参照を渡すことです。 –
あなたはバウアーを瞬間的にインストールしましたか? – a1626