在开发中运行我的代码时使用 babel-register 或 babel-node 有什么区别?这两个选项是:
require('babel-register')({ "presets": ["es2015"] });
在 entry-point.js 和 npm 启动脚本node entry-point.js
只需有 npm 启动脚本
babel-node entry-point.js --preset=es2015
他们做同样的事情吗?并且推荐一种方法而不是另一种方法?
在开发中运行我的代码时使用 babel-register 或 babel-node 有什么区别?这两个选项是:
require('babel-register')({
"presets": ["es2015"]
});
在 entry-point.js 和 npm 启动脚本node entry-point.js
只需有 npm 启动脚本babel-node entry-point.js --preset=es2015
他们做同样的事情吗?并且推荐一种方法而不是另一种方法?
我在工作中四处打听,得到了答复。我会把它贴在这里,以防其他人感兴趣。
babel-node
基本上是内部调用babel-register
。见源。区别是
当使用babel-node
入口点时,它本身也将通过 babel 运行,而babel-register
只有在需要之后babel-register
需要的文件才会通过 babel 运行。
如果您需要babel-polyfill
(例如生成器)babel-node
会自动将其拉入,而babel-register
您需要自己做。在为生产进行构建时,请记住这一点。如果您需要babel-polyfill
并且正在babel-node
开发中使用,则需要确保babel-polyfill
在构建生产时正在构建。
似乎不推荐一种方法。但是,babel-node
如果 b/c 更简洁一点,它就会远离require ('babel-register')
代码库。对于所有这些东西的新手来说,它似乎也更直观一些。