問題タブ [babel-node]
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 - ワーカーが参照するファイルをbabel-nodeでcommonjsに変換するにはどうすればよいですか? (バベルのように)
Express.js アプリでは、Babel を使用して、起動する前に commonjs にプリコンパイルしています。コンパイル手順は次のようになります。
プロジェクトの一部として、my-worker.js
私が使用する場所と呼ばれるファイルがありますimport syntax
:
そして、それはによって使用されother-file.js
ます:
これはうまくいきます。Babel はすべてのファイルを commonjs に変換し、ワーカー スクリプトの読み込みが機能します。
しかし
を使用する@babel/node
と、これは機能しません:
警告が表示されます:
(ノード:4865) 警告: ES モジュールをロードするには、package.json で "type": "module" を設定するか、.mjs 拡張子を使用します。
エラーとともに:
モジュール外で import ステートメントを使用することはできません
"type": "module"
ファイル拡張子を明示的に指定する必要があるため、使用したくありません。また、import X, { y } from ...
構文がサポートされているかどうかもわかりません (これは気に入っています)。
ワーカー ファイルを に変更し、それに応じてステートメントを変更すると、ファイル名が に戻されるため、本番ビルドでは機能しmy-worker.mjs
ません。new Worker
@babel/node
.js
ワーカーによってロードされたファイルをロードしてキャッシュするにはどうすればよい@babel/node
ですか (これが必要なことだと思いますか?)。なぜこれは で機能し、 では機能し@babel
ないの@babel/node
ですか?
私の.babelrc
ファイルは次のようになります。