我是否需要在使用 Node.js 创建后端服务和使用 ejs 的视图引擎创建前端部分的项目中使用 Babel?

Do I need to use Babel in project which created backend service with Node.js and front end part with view engine with ejs?

我有点困惑。有人说,如果你要开发纯 Node.js 项目,你不必担心这个。对于网络,您应该了解所有这些工具。有人说如果你需要最小化生产代码使用它。

使用 babel 的目的是,它将边缘 JavaScript 转换为可以在任何浏览器中 运行 的普通旧 ES5 JavaScript。

  1. 那么,我是否需要在创建 仅用于后端服务 和 Node.js 的项目中使用 Babel?

  2. 我是否需要在使用 Node.js 创建后端服务且前端部分使用视图引擎(ejs、jade ...)渲染的项目中使用 Babel?

  3. 我需要在使用 Node.js 创建后端服务和使用 React 创建前端部分的项目中使用 Babel 吗?

  1. 如果你从最新的稳定版本开始,你不能使用,但是如果在例如之后。一年你会想要使用 js 的新特性,比如可选链,你要么需要更新节点的版本,这可能是有风险的(节点的重大更改 api,与固定版本一起工作的依赖项)或使用 babel只需更改配置,因为它的风险要小得多。

  2. 你至少需要生成部分,因为即使使用视图引擎,你也会在这个页面中包含 javascript,但我也建议使用节点

  3. 对于node js部分react p1,对于react,如果你想支持旧浏览器我建议你使用,如果不支持,至少出于原因1),你将无法使用javascript 因为您锁定了当前的浏览器版本。

babel 也有一个惊人的 feature,它只允许 select 浏览器版本,而不是 es5/es6/esnext,它会相应地转换。