为什么React要求Babel和Webpack工作?

sta*_*lei 15 babel reactjs webpack

我正在查看vue.js的wiki页面,看到了这个:

与React开发相比,Vue可以更容易地集成到现有的Web应用程序中.通常,Web应用程序可以通过简单地包含Vue.js JavaScript库立即开始使用Vue.使用Webpack或Browserify并不是必需的.这与React开发形成鲜明对比,其中使用Webpack和Babel是不可避免的,因此使转换现有Web应用程序变得更加困难.

有人能解释为什么React需要webpack和babel吗?我以为你可以放入React的CDN链接,它会起作用吗?

Mat*_*Yao 17

不,对于React堆栈,Babel和Webpack不是必需的.您仍然可以找到其他替代方案来构建您最喜欢的堆栈,例如Br​​owserify和Gulp.

但是,如果您想让事情变得更容易,我建议您学习并使用Babel和Webpack以及React,因为:

  • 您可以使用模块.
  • 您可以将JSX与ES6一起使用.
  • 它支持很多浏览器
  • 您可以使用更高级的功能(异步/等待)等

随着webpack

  • 您可以使用不同的装载机,包括sass,less,postcss等
  • 您可以使用不同的插件来优化您的构建,例如Uglify,HotModuleReplacement,Chunks等

使用webpack还有很多其他优点,你可以在这里找到

  • 我认为他的真正含义是:"是否有必要使用React堆栈的babel,webpack,browserify,gulp等?".请注意,`vue.js`声称它不需要它们,因为你可以从`<script src ="vue.js"> </ script>开始. (5认同)

Dan*_*iel 5

有人可以解释为什么React需要webpack和babel吗?我以为您可以直接添加到React CDN的链接,它将起作用吗?

React不需要“不需要” babel或webpack,但是该库是基于使用ES6 javascript语法和JSX(本质上是JS中的HTML)的概念构建的。

但是,可以在没有ES6JSX的情况下使用React ,这将消除最初对Babel的需求,但您将失去ES6和JSX的潜在优势。

Webpack与React是分开的,但是由于MattYao提到的原因而通常在React项目中使用。

与Vue相比,JSX给我带来了在一个文件/组件中包含html,css和JS的好处,这也是Vue中的“单个文件组件”也试图实现的。这些还需要使用webpack之类的构建步骤。