RSS DEV コミュニティ

複数のJavaScript環境をサポートする

作者はNode.jsとブラウザ環境の両方を対象としたユーティリティを開発し、トランスパイラとしてBabelを選択しました。Babelの複雑さと設定の難しさを認めつつも、作者はモダンECMAScript機能と後方互換性のバランスを取れる点を強調しています。このプロジェクトでは、ES Modulesを使用してソースコードを記述し、Node.js向けにCommonJSにコンパイルすることを目指しています。ビルドプロセスには、ブラウザとNode.js向けの個別の配布可能ファイルを準備するためのネストされたnpm runスクリプトとbashコマンドが含まれます。ブラウザビルドでは、browserslistクエリを使用してサポートするブラウザ機能を決定します。Node.jsビルドはv20をターゲットとし、ES Moduleサポートのための追加スクリプトとともにCommonJSにトランスパイルします。最終的な出力には、lib/ディレクトリにブラウザ向けのスクリプト、dist/ディレクトリにNode.js向けのスクリプトが含まれます。作者は、このセットアップが個人の実験に基づいたものであり、必ずしもベストプラクティスではないことを強調しています。作者は、読者自身のニーズに最適なソリューションを決定するために、各自で調査を行うことを推奨しています。
favicon
dev.to
Supporting multiple Javascript environments
Create attached notes ...