Я официально сдаюсь. Я пытаюсь запустить проект es6 узла, который использует синтаксис импорта es6, но дочерние процессы не будут работать. Проблема в том, что childprocess.fork использует узел, а не babel-node. Я получил его для запуска с помощью babel-узла, но теперь они не могут общаться через 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)
Для дочернего процесса fork требуется путь к файлу для запуска. Если я скомпилирую все файлы в файл сборки, как бы я разблокировал этот код? – wayofthefuture
@wayofthefuture Babel не компилирует все файлы в один файл сборки. Каждый файл компилируется отдельно. –
Значит, весь проект будет загрязнен файлами другого расширения? – wayofthefuture