私は2つのファイルを持っている場合、のはA.jsとB.jsそれらを呼びましょう:Babelで作成されたファイルをBabelに要求するにはどうすればよいですか?
/src/A.js
/src/B/B.js
A.jsはES6モジュールの構文を経由してB.jsを使用しています。
import B from './B/B.js';
とB.jsの輸入を以下のような他のもの:
import http from 'http';
私はrequire
(CommonJS)構文にモジュールの構文を変換するために、バベルを使用している、と私は実行して正常に実行できます。
node_modules/babel-cli/bin/babel.js src > compiled.js
しかし、問題があります:私は結果compiled.js
を実行しようとすると、私が取得:
/src/b/B.js:1
(function (exports, require, module, __filename, __dirname) { import http from 'http';
SyntaxError: Unexpected token import
このラインにcompiled.js
ポイントから来ているスタックトレースの一部:
var _B = require('./src/b/B')
問題を引き起こす実際のインポートは、B.jsから来ますが、
import http from 'http';
compiled.js内のB.jsコードのコピーにimport
が含まれていないため、元のB.jsが必須であるようですが、なぜそのバージョンが使用されていないのかわかりません。
ご協力いただければ幸いです。
通常、ファイル間の相対パスが引き続き機能するように、ディレクトリ全体を変換します。なぜファイルを個別にコンパイルして名前を変更するのですか? –
私はWebpackに慣れていて、バベルを手動でコンパイルする必要がなかったダミーだからです。代わりに私のディレクトリでそれを実行しようとします、ありがとう! – machineghost
それは動作しませんでした。これはA.jsの 'import'を' require'に変換しますが、B.jsを別のファイル(インポートを伴う)として残します。 A.jsとB.jsの両方をコンパイル済みのjsに入れることを望んでいましたが、そのような運はありませんでした。 – machineghost