14

在开发中运行我的代码时使用 babel-register 或 babel-node 有什么区别?这两个选项是:

  1. require('babel-register')({ "presets": ["es2015"] });在 entry-point.js 和 npm 启动脚本node entry-point.js

  2. 只需有 npm 启动脚本babel-node entry-point.js --preset=es2015

他们做同样的事情吗?并且推荐一种方法而不是另一种方法?

4

1 回答 1

21

我在工作中四处打听,得到了答复。我会把它贴在这里,以防其他人感兴趣。

babel-node基本上是内部调用babel-register。见。区别是

  1. 当使用babel-node入口点时,它本身也将通过 babel 运行,而babel-register只有在需要之后babel-register需要的文件才会通过 babel 运行。

  2. 如果您需要babel-polyfill(例如生成器)babel-node会自动将其拉入,而babel-register您需要自己做。在为生产进行构建时,请记住这一点。如果您需要babel-polyfill并且正在babel-node开发中使用,则需要确保babel-polyfill在构建生产时正在构建。

似乎不推荐一种方法。但是,babel-node如果 b/c 更简洁一点,它就会远离require ('babel-register')代码库。对于所有这些东西的新手来说,它似乎也更直观一些。

于 2017-02-21T14:39:33.520 回答