Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack/Babel和react脚本之间的差异_Webpack_Babeljs_React Scripts - Fatal编程技术网

Webpack/Babel和react脚本之间的差异

Webpack/Babel和react脚本之间的差异,webpack,babeljs,react-scripts,Webpack,Babeljs,React Scripts,最近我开始研究web pack和react脚本,我想知道使用它们的优点和缺点,以及它们之间的区别。WebPack和react脚本有点不同 Webpack用于为您的web应用程序编译捆绑包,它可以是自由格式的,并且具有一些入口点。此外,webpack与babel预设一起使用,这允许您在相对较旧的浏览器中使用现代ES6+结构。此外,webpack在一个文件中负责与程序集相关的节点_模块,并可能对其进行压缩和优化。 您可以在此处阅读更多有关网页包装理念的信息: React脚本只是启动一些定制的webp

最近我开始研究web pack和react脚本,我想知道使用它们的优点和缺点,以及它们之间的区别。

WebPack和react脚本有点不同

Webpack用于为您的web应用程序编译捆绑包,它可以是自由格式的,并且具有一些入口点。此外,webpack与babel预设一起使用,这允许您在相对较旧的浏览器中使用现代ES6+结构。此外,webpack在一个文件中负责与程序集相关的节点_模块,并可能对其进行压缩和优化。 您可以在此处阅读更多有关网页包装理念的信息:


React脚本只是启动一些定制的webpack开发服务器的入门工具包,它被配置为使用React提供的样板文件。这只是一件小事。大多数现代web库都有自己的入门工具包,甚至服务器端库也有,例如等等。基本上说,它们有不同的用途,通常一起出现。我将解释它们的设计目的

巴别塔 巴贝尔是个运输工。它可以将各种高版本的ECMAScript(不仅是ECMAScript,而且很容易理解)转换为ES5,而ES5更受浏览器(尤其是旧版本)的广泛支持。它的主要工作是将不受支持的或尖端的语言特性转换为ES5

网页包 Webpack是一个依赖项分析器和模块绑定器。例如,如果模块A需要B作为依赖项,而模块B需要C作为依赖项,那么webpack将生成一个依赖项映射,如C->B->A。实际上,它比这复杂得多,但一般的概念是webpack将具有复杂依赖关系的模块打包成捆绑包。关于webpack与babel的关系:当webpack处理依赖项时,它必须将所有内容转换为javascript,因为webpack在javascript之上工作。因此,它使用不同的加载程序将不同类型的资源/代码转换为javascript。当我们需要ES6或ES7特性时,我们使用
babel loader
来完成这一点

反应脚本 当我们开始一个基于react的项目时,设置构建环境是一项艰难而耗时的工作。为了帮助实现这一点,React的开发人员创建了一个名为
React scripts
的npm软件包,其中包含了大多数人使用普通React应用程序所需的大量基本设置。Babel和webpack是