問題の説明と再現手順:
src/moment.js
を<script type=module>
ロードする場合:
ソースが「 http:// localhost :5000 / node_modules / moment / src / lib / utils / hooks」のモジュールの読み込みに失敗しました。
環境:
ESモジュールをサポートするブラウザ。
src/
下のすべてのインポートに.js
ファイル拡張子を追加すると、最大105〜228のHTTPリクエストのチェーンに簡単につながる可能性があります(ロケールによって異なります)
esnext
module
プロパティとpackage.json
追加すると、より適切な結果が得られる可能性があります。 Axel Rauschmayerによる一連の記事から、次のようなものが必要なようです。
"esnext": "src/moment.js",
"module": "./moment.esm.js",
(ここで、 ./moment.esm.js
は、CJSモジュール形式の代わりにESMに従って、新しいビルドターゲットになります)
新しいesmビルドターゲットの場合は+1。 参考までに、 Ractive.jsは.mjsdistファイルを提供します
https://github.com/moment/momentjs.comでこれに関するドキュメントのPRを取り
ところで、HTTPリクエストの数が多い場合でも、デモで使用するブラウザビルドがあると便利な場合があります。デモでは、グローバルスクリプトの依存関係でHTMLを汚染する必要はありません(1つのスクリプトだけであることがわかっています)。 IIFEまたはUMDビルドがある場合はタグを付けますが、スクリプトタグは、それを使用するJSからはまだ適切ではなく、モジュール配布を行うためにクリーンです)。
@ brettz9既存のユーザーを壊さないPRを見ていきます。
最も参考になるコメント
src/
下のすべてのインポートに.js
ファイル拡張子を追加すると、最大105〜228のHTTPリクエストのチェーンに簡単につながる可能性があります(ロケールによって異なります)esnext
module
プロパティとpackage.json
追加すると、より適切な結果が得られる可能性があります。 Axel Rauschmayerによる一連の記事から、次のようなものが必要なようです。(ここで、
./moment.esm.js
は、CJSモジュール形式の代わりにESMに従って、新しいビルドターゲットになります)