我可以在 ES6 的生产环境中使用 Babel Require Hook 吗?

Can i use Babel Require Hook in production for ES6?

我有一个使用 ES6 的节点应用程序。我正在使用 Babel 进行转译。 据我了解,例如使用 Gulp 之类的构建系统或使用 require hook 。 Require Hook 方法似乎对我很有吸引力,因为我将能够将我的源文件保留在 ES6 中,但仍然使用 node server.js 执行它们,而无需使用某些构建系统。

这至少对开发来说似乎非常有用,我主要担心的是在生产中使用这种方法。

对于上下文,我将它与 Express 应用程序一起使用。

Does it have any penalty hit every time that a user makes a request ?

不,不是在每次请求时都必须重新编译代码的意义上。

How this works exactly ?

require 钩子基本上劫持了对 require() 的所有后续调用,并在执行该模块之前执行 ES6->ES5 转译。

我在生产环境中使用 babel require 钩子已经有一段时间了(流量水平适中——峰值流量在数百 req/sec 范围内),这从来都不是问题。