1. ホーム
  2. node.js

[解決済み】bower init - amd、es6、globals、nodeの違いについて

2022-03-31 19:09:04

質問

初めてBowerコンポーネントを作成します。以下のコマンドを実行した後 bower init スクリプトは、これらのオプションで「このパッケージが公開するモジュールの種類は何か」と聞いてきます。

  • アムド
  • エスシックス
  • グローバル
  • ノード

これらのオプションの違いは何ですか?

解決方法は?

もし、あなたが知らないのであれば、グローバルがあなたにとって正しい答えである可能性が非常に高いです。

いずれにせよ、理解する必要があります。

[UPDATE】について]

この機能はごく最近bowerに導入されたもので、まだ全く文書化されていません(AFAIK)。この機能は基本的に moduleType これは、そのパッケージがどのようなモジュール技術で消費されることを意図しているかを示しています (上記参照)。

今のところ、これは moduleType プロパティに bower.json ファイルを作成します。

参照 https://github.com/bower/bower/pull/934 は、元のプルリクエストを参照してください。

[UPDATE #2】。]

コメントへの回答として、いくつかの点を追加しました。

  • 現在、AFAIKでは moduleType プロパティは、技術的にはどんな値でも使用することが許されています。 angularjs その気になれば
  • その バウワー委員会 を追加で入れることには積極的でないようです。 non-interoperable/proprietary moduleTypes (composer や angular など) - それは容易に理解できるが、繰り返しになるが、人々が moduleType 欲しい値
  • 例外として、(やや)最近になって yui moduleType であると仮定すると、"例外"があることになります。 協調的な計画の一部

リストされていないパッケージマネージャ用のパッケージをオーサリングしてbowerで公開する場合、どうすればいいでしょうか?

es6 モジュールを作成し、以下のパッチを使用します。 es6-トランスパイラ で必要なパッケージ形式を出力します。それから、私はどちらか/とします。

  • bowerに私のパッケージ技術を選択肢に加えるよう請願する(es6-transpilerがターゲットとしてサポートしているという事実に基づいています)。
  • es6 モジュール版とトランスパイルした XXX 版の両方を含む私のパッケージを公開し es6 として moduleType

免責事項:私はangularjsモジュールのオーサリングの実経験がありません。