在开发中运行我的代码时,使用babel-register或babel节点之间是否有区别?这两个选项是:
-
require('babel-register')({ "presets": ["es2015"] });
在entrypoint.js和npm开始脚本node entry-point.js
-
只有NPM开始脚本
babel-node entry-point.js --preset=es2015
他们做完全相同的事情吗?另一种推荐的方法是另一种方法吗?
我在工作中询问并得到答案。我将在这里发布它,以防其他人感兴趣。
babel-node
基本上是内部调用 babel-register
。请参阅来源。差异是
-
使用
babel-node
时,入口点本身还将通过Babel vs.babel-register
仅在需要babel-register
之后需要的文件运行。 -
如果您需要
babel-polyfill
(例如生成器)babel-node
会自动将其拉动,而babel-register
则需要自己做。这是建立生产时要记住的事情。如果您需要babel-polyfill
,并且正在开发中使用babel-node
,则需要确保在生产生产时构建W/babel-polyfill
。
似乎不推荐一种方式。但是,babel-node
是一个清洁剂的b/c,它将将require ('babel-register')
放在代码库中。对于所有这些东西的人来说,这似乎也更加直观。