- 現在、すべてのモジュールロード定義の間に勝者がありますか? CommonJS、AMD、UMD、ES6。そして、モジュールローダーについては、どうすればいいのですか?
- ng4のAngular-Cliは、SystemJSモジュールローダーを使用しますか?
答えて
JavaScriptを書いているなら、間違いなくES6モジュール(ESM)を使うべきだと思います。しかし、ブラウザではESMが今実装されている方法にいくつかの制限があるため、Chromeでサポートされているダイナミックインポートと名前付きモジュールAFAIKは仕様にさえありません。モジュールローダーを使用する必要があります。私は必要に応じてモジュールをロードするためにSystemJSを使用しています。残念なことに、ESMもサポートしていないため、まずSystemJSがサポートするフォーマットのいずれかに変換する必要があります。 CommonJSはNodeJSで使用されているのと同じフォーマットであり、私にはもっとよく知られているので、CommonJSを選択します。変換はTypeScriptで行うのが便利です。上記の制限を含むブラウザによるESMのサポートが完全に終わると、ほとんどのプロジェクトでSystemJSの依存関係が削除されます。
しかし、ほとんどのフロントアプリケーションでは、モジュールバンドラWebpackが使用されています。これはESMモジュールを(CommonJSに基づいた)独自のモジュールフォーマットに変換します。したがって、通常は別個のモジュールローダーは必要ありません。しかし、Webpackはビルド時にわからないモジュールをロードできないため、実行時に動的なサードパーティモジュールをロードする必要がある場合は、SystemJSを使用します。それは私が取り組んでいるアプリケーションの場合です。
「実行時にロードされる動的サードパーティモジュール」は、Webpackが動的に認識できないモジュールをロードできないことを意味しますが、SystemJSでは実行できません。これは、AMD/RequireJSがうまくいくものでもありますか?動的モジュールの読み込みですか? – Hao
@Hao、そうですね、どちらも可能ですが、SystemJSは今のところ望ましい解決策です –
- 1. ボタンのロード状態Asp.net JavaScript
- 2. モジュール性とフレックスビューの状態
- 3. Laravel 5.2.45:未定義の変数:状態
- 4. ArgumentError:未定義の状態 'normalAndInactive'
- 5. Pythonモジュールのグローバル状態
- 6. テーブルビューの状態の保存とロード
- 7. Vuex:別のモジュールからのアクセス状態
- 8. Ansible:YUMモジュールの "状態" パラメータAnsibleのドキュメントで
- 9. 子状態と固定状態の違いは何ですか?
- 10. SQLセッション状態&Javascriptのエラー
- 11. 状態を反応中の小道具にマッピングするときの未定義状態
- 12. Javascript exec mainationing状態
- 13. JavaScriptの状態と状態の変化を追跡するためのイディオム
- 14. Angular2モジュール間の状態を維持
- 15. AngularJSで親状態を更新せずに子状態をロード
- 16. ...状態、{}とObject.assign({}、状態、{})の相違点
- 17. Vue/Vuex - JSONファイルからのロード状態
- 18. リストビューの状態が定義されていません
- 19. jQueryのUIでアクティブな展開状態を定義するAccordion
- 20. カスタムユーザータイプの休憩を定義する休止状態
- 21. Rails 4 - Statesman Gem - 現在の状態を定義する方法
- 22. jqueryが未定義の状態でnested jsonを読み込む
- 23. ルータオブジェクトは常に未定義の状態です
- 24. React(Firebase)の状態を更新しました。未定義値
- 25. 未知のReferenceError:状態は定義されていません
- 26. 剣道ツールバーボタンの状態を取得し、ロード状態にリセットします
- 27. メモリゲームのタイルのホバー状態JavaScriptコード
- 28. MongoError:mongooseモジュールをアップグレードした後に無効な状態のサーバーインスタンスが定義されていません
- 29. 反応コンポーネントテストでクリックをシミュレートするときの状態は未定義です
- 30. エンティティをロードするときのnhibernate競合状態
angleは 'webpack'をデフォルトの' module loader/bundler'として使用しています。 – Orlandster
@オルランドスター、モジュールバンドラ、ローダではありません。要求に応じてモジュールをロードすることはできません –