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

时间:2017-04-03 00:56:50

标签: reactjs webpack babel

我正在查看vue.js的wiki页面并看到了:

  

与React开发相比,Vue可以集成到   现有的Web应用程序更容易。通常,Web应用程序   只需包含Vue.js即可立即开始使用Vue   JavaScript库。使用Webpack或Browserify并不严格   一定。这与React开发形成鲜明对比   使用Webpack和Babel是不可避免的,因此制作   转换现有的Web应用程序要困难得多。

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

2 个答案:

答案 0 :(得分:16)

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

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

  • 您可以使用模块。
  • 您可以将JSX与ES6一起使用。
  • 它支持很多浏览器
  • 您可以使用更多高级功能(async / await)等

使用webpack

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

使用webpack还有许多其他优点,您可以找到here

答案 1 :(得分:4)

  

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

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

然而,

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

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

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