問題タブ [umd]
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 - UMD でオブジェクト コンストラクターを 1 つだけ定義するにはどうすればよいですか?
次のように、CommonJS、AMD、およびブラウザーのグローバル全体で使用できるモジュールを定義する UMD スタイルでモジュールを定義しています。
これは、エクスポートされたオブジェクトにプロパティをアタッチしたい場合に最適ですが、この定義から単一のコンストラクター関数を返すだけで、3 つのシステムすべてがこのモジュールをロードし、返された関数を直接使用できるようにしたい場合はどうでしょうか。オブジェクト リテラルを返し、リテラルのプロパティとしてコンストラクターにアクセスする必要がありますか?
javascript - 単に依存関係を強化するために、エクスポートなしで UMD を使用することは合理的ですか?
オープン ソース配布用の最初の AngularJS モジュールを作成しています。他の人が食べやすいように包装したいと思います。
UMD プロジェクトは、AMD、CommonJS (または少なくとも Node)、およびブラウザー グローバルと互換性のある JavaScript モジュールをエクスポートするためのパターンを提供します。
ただし、AngularJS には独自の内部モジュール システムがあるため、モジュールの登録は、angular
オブジェクトのメソッドを呼び出すだけで行われますangular.module()
。したがって、UMD モジュールは何もエクスポートする必要はありません。を要求し、それに基づいて行動する必要があるだけですangular
。前の例に関しては、次のようになると思います。
または、私の場合に固有:
これは大したことではありませんか、それとも UMD の精神に反しますか? 何もエクスポートしない UMD パターンが見つからなかったので質問します。
jquery - jQueryプラグインintlTelInputをロードするためにrequirejsを使用する方法は?
問題のプラグインはhttps://github.com/Bluefieldscom/intl-tel-inputです。すべてのスクリプト タグはrequirejs
正しく挿入されていますが、まだプラグインを使用できませんintlTelInput
。
私は何が欠けていますか?
javascript - lib の依存関係を webpack + ハンドルバー ローダーとバンドルしないようにする
ハンドルバー テンプレートを使用してライブラリを作成しており、Webpack を使用してバンドルしたいと考えています。テンプレートを要求してプリコンパイルできるように、handlebars-loaderを使用しています。
ただし、ハンドルバー (ハンドルバー/ランタイムも) をコンパイル済みライブラリに含めたくないので、それらを外部として設定したいと思います。
ここに私の設定ファイルがあります:
残念ながら、それは機能せず、handlebars-loader はまだハンドルバー/ランタイムをバンドルします...
ハンドルバー/ランタイムを直接必要とせず、ローダーによって追加されたコードで必要になるためだと思います。
それを外部としてマークする方法はありますか?
編集:テンプレートをコンパイルするには、ハンドルバー/ランタイムが必要であることを知っています。しかし、ライブラリを構築しているので、ライブラリを含めるのではなく、ライブラリのユーザーが提供するようにしたいと考えています。このように、ユーザーがハンドルバーも使用している場合、ライブラリが 2 回読み込まれることはありません。ライブラリが依存関係をバンドルすることを避けることは良い習慣だと思います (私の謙虚な意見では、これはあまりにも頻繁に見られるものです)。
browserify - browserifyはユニバーサルモジュールをどのようにバンドルしますか
browserify が変換によって UMD モジュールを消費できることは知っていますが、browserify を使用して lib をビルドしたい場合、どうすれば UMD モジュールをビルドできますか? 使用できる変換はありますか?
javascript - ユニバーサルモジュール定義 - 書き方
最初はこのパターンを理解するのに長い時間がかかりましたが、それは主に次のように書かれているためだと思います。
まさにこれと同じではないか。
現在は var ステートメントがありますが、これははるかに読みやすいと思います。ここで何か不足していますか?最初のアプローチを使用する正当な理由はありますか?
javascript - UMD スタイルのサブモジュール
UMD スタイルの方法でサブモジュールを個別に作成することは可能ですか? 私がこれを持っているとしましょう:
別のファイルにthing.subオブジェクトを構築する最良の方法は何ですか? このようにモジュールを分離して、開発環境をきれいに保ちたい...