![](/img/trans.png)
[英]How to setup node environment to run ES6 codes involving syntax like `import … from …`?
[英]Run ES6 import syntax in Node child process
我正式放弃。 我正在尝试运行一个使用 es6 导入语法的节点 es6 项目,但子进程不起作用。 问题是 childprocess.fork 使用 node 而不是 babel-node。 我已经使用 babel-node 让它运行,但现在它们无法通过 process.send 进行通信。 我正在寻找解决问题的任何选项,也许有一个更简单的选项。
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));
这给了我这个:
错误:通道在 ChildProcess.target.send 关闭 (internal/child_process.js:523:16)
如果有人有同样的问题。 但是对于使用mocha等测试环境。 有了这个问题,我在 mocha 上打开我可以解决问题。
运行
babel-node node_modules/mocha/bin/_mocha test.js
默认情况下将编译器应用于子进程,无需设置execPath
。PS:一旦你用
babel-node
运行mocha
就不需要传递--require
或--compilers
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.