本文小编为大家详细介绍“react和webpack的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“react和webpack的区别有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
区别:1、React是一个JavaScript框架,而webpack是一个JavaScript应用程序的静态模块打包器;2、React主要用于构建用户界面,而webpack可以进行重新加载编译,可将所有的静态资源都合并好了,减少了io请求。
本教程操作环境:Windows7系统、react17.0.1版、Dell G3电脑。
react是什么
React是用于构建用户界面的JavaScript框架。
框架:可以被复用的代码。用的人多了,就出名了,越有人越有价值。(笑)
与React齐名的Angular。
React是用于渲染UI的JS库,定位在与实现UI
React Web App解决方案,衍生的React Native是跨屏App解决方案
特点:
声明式设计:声明范式
高效:使用VDOM,减少DOM的交互
灵活:与已知的库或框架完好配合
JSX:一种独立的语言,试图解决很多JS的缺陷,ES6包含了几乎所有JSX的特性
组件:代码复用
单向响应数据流:比双向绑定更简单,更快。
为什么使用React?
传统方法频繁操作DOM,性能无法达到要求;React使用VDOM,性能高
传统JS代码维护成本高,React基于组件开发
需要支持移动端开发
React的缺点:
对于一直使用JS,jQuery的传统前端,React非常不友好
React强调组件和状态管理,其世界观是面向程序语言的
Vue.js强调视图的自动同步,其世界观是面向UI脚本的
React的学习成本较Vue.js高。
React没有全家桶,只做UI
webpack是什么
本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
webpack 就像一条生产线,要经过一系列处理流程后才能将源文件转换成输出结果。 这条生产线上的每个处理流程的职责都是单一的,多个流程之间有存在依赖关系,只有完成当前处理后才能交给下一个流程去处理。 插件就像是一个插入到生产线中的一个功能,在特定的时机对生产线上的资源做处理。
webpack 通过 Tapable 来组织这条复杂的生产线。 webpack 在运行过程中会广播事件,插件只需要监听它所关心的事件,就能加入到这条生产线中,去改变生产线的运作。 webpack 的事件流机制保证了插件的有序性,使得整个系统扩展性很好。
webpack 构建流程
Webpack 的运行流程是一个串行的过程,从启动到结束会依次执行以下流程 :
初始化参数:从配置文件和 Shell 语句中读取与合并参数,得出最终的参数。
开始编译:用上一步得到的参数初始化 Compiler 对象,加载所有配置的插件,执行对象的 run 方法开始执行编译。
确定入口:根据配置中的 entry 找出所有的入口文件。
编译模块:从入口文件出发,调用所有配置的 Loader 对模块进行翻译,再找出该模块依赖的模块,再递归本步骤直到所有入口依赖的文件都经过了本步骤的处理。
完成模块编译:在经过第 4 步使用 Loader 翻译完所有模块后,得到了每个模块被翻译后的最终内容以及它们之间的依赖关系。
输出资源:根据入口和模块之间的依赖关系,组装成一个个包含多个模块的 Chunk,再把每个 Chunk 转换成一个单独的文件加入到输出列表,这步是可以修改输出内容的最后机会。
输出完成:在确定好输出内容后,根据配置确定输出的路径和文件名,把文件内容写入到文件系统。
在以上过程中,Webpack 会在特定的时间点广播出特定的事件,插件在监听到感兴趣的事件后会执行特定的逻辑,并且插件可以调用 Webpack 提供的 API 改变 Webpack 的运行结果。
react和webpack的区别
React是一个JavaScript框架,是用于渲染UI的JS库,用于构建用户界面。
而webpack是一个打包器(bundler),它能将多个js文件打包成一个文件(其实不止能打包js文件,也能打包其他类型的文件,比如css文件,json文件等)。
webpack的作用
进行重新加载编译。实际就是将浏览器不认识的语法编译成浏览器认识的语法。比如less编译成css,ES6 语法 转成 ES5等等。
减少io请求。通常我们在请求后,会返回一个html到浏览器。这时,我们如果打开控制台,就会发现在html页面通过script,link等标签引用的静态资源, 浏览器会再次发出请求去获取这些资源。但是webpack的打包,将所有的静态资源都合并好了,减少了io请求。
读到这里,这篇“react和webpack的区别有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。