私は正式に諦めます。 es6インポート構文を使用するノードes6プロジェクトを実行しようとしていますが、子プロセスは機能しません。問題は、childprocess.forkがbabel-nodeではなくnodeを使用することです。私はbabel-nodeを使って実行するようにしましたが、現在はprocess.sendを介して通信することはできません。私は問題を解決するためのオプションを探しています。おそらくもっと簡単な方法があります。私はこれを与えノードの子プロセスでES6のインポート構文を実行
let appPath = path.dirname(require.main.filename);
let babelPath = path.join(appPath, 'node_modules/.bin/babel-node.cmd'); //WINDOWS
let filepath = path.join(__dirname, 'processes', moduleName);
let process = childProcess.fork(filepath, { execPath: babelPath });
process.on('message', msg => console.log(msg));
:
Error: channel closed at ChildProcess.target.send (internal/child_process.js:523:16)
子プロセスフォークがファイルパスを実行する必要があります。すべてのファイルをビルドファイルにコンパイルすると、そのコードをどのようにフォークしますか? – wayofthefuture
@wayofthefuture Babelはすべてのファイルを1つのビルドファイルにコンパイルしません。各ファイルは別々にコンパイルされます。 –
これは、プロジェクト全体が別の拡張子のファイルで汚染されることを意味しますか? – wayofthefuture