【问题标题】:why does create-react-app still include babel in 2020为什么 2020 年 create-react-app 仍然包含 babel
【发布时间】:2020-10-13 04:50:54
【问题描述】:

我明白为什么 create-react-app 在 2015 年包含 babel。但是现在所有 4 大浏览器都对 ES2015(又名 ES6)甚至 ES7 都很好,为什么 create-react-app 需要包含 babel(它有大量的依赖关系并大大减慢了新 React 应用程序的生成速度)?

我错过了什么?

编辑1 我知道他们可能会向 create-react-app 添加更新的(ES7/ES8/ES9)功能,但他们不是应该停止添加 Babel 吗?

为什么我的 create-react-app 中没有一个标志 - 上面写着,我不想要 babel 依赖项?为什么这不是 create-react-app 用户的常见问题?

谢谢

【问题讨论】:

标签: javascript reactjs browser babeljs create-react-app


【解决方案1】:

您可以根据最终用户定位浏览器列表

通过更改package.json

"browserslist": {
  "production": [
    ">0.2%",
    "not dead",
    "not op_mini all"
  ],
  "development": [
    "last 1 chrome version",
    "last 1 firefox version",
    "last 1 safari version"
  ]
}

docs

【讨论】:

  • “@Kalhan Toress”。这是否意味着,我的包列表中不会有任何 babel.js ?为什么我的 create-react-app 中没有标志 - 上面写着,我不想要 babel 依赖项?为什么这不是 create-react-app 的常见问题?
  • babel 是一个转译器。如果它不需要对你的代码做任何事情,它不会给你的代码增加任何开销。这几乎是不可能的,因为 JS 中新的有用特性被引入得太快了。这也是 Chrome 自动更新对网络如此重要的原因。
  • @user120242 虽然它不会增加任何开销,但它不支持 typescript 的某些功能,并且这些问题通常没有记录。如果没有帮助,为什么还要给项目增加额外的复杂性?即使它没有任何问题,我也不明白为什么要强加给开发人员。
猜你喜欢
  • 1970-01-01
  • 2020-10-01
  • 2019-09-19
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
  • 2018-01-21
  • 2022-01-23
  • 2020-08-14
相关资源
最近更新 更多