javascript - 在 Node 子进程中运行 ES6 导入语法

标签 javascript node.js ecmascript-6 babeljs child-process

我正式放弃了。我正在尝试运行一个使用 es6 import 语法的 Node 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));

这给了我这个:

Error: channel closed at ChildProcess.target.send (internal/child_process.js:523:16)

最佳答案

Babel CLI page说:

You should not be using babel-node in production.

相反,首先编译所有文件,然后在编译的文件上运行 childProcess.fork()

关于javascript - 在 Node 子进程中运行 ES6 导入语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39540388/

相关文章:

javascript - 使用 d3.js 为 svg 图表创建标记

javascript - 如何将普通对象转换为 ES6 Map?

node.js - 我应该在express中使用app.get还是app.all

node.js - 如何在本地测试 Firebase FCM

javascript - 什么是等同于 es5 函数声明的 es6 粗箭头

javascript - 使用私有(private)/ protected /公共(public)字段和方法扩展类

javascript - 为什么使用 for 比 some() 或 filter() 更快

javascript - Nodejs 文件在发送响应之前被删除(res.send)

reactjs - 使用 React.cloneElement 和 render prop 将 ref 传递给类组件

javascript - 从 api 加载的路由 - Controller 从未调用过