react和webpack的区别是什么

区别:1、React是一个JavaScript框架,而webpack是一个JavaScript应用程序的静态模块打包器;2、React主要用于构建用户界面,而webpack可以进行重新加载编译,可将所有的静态资源都合并,进而减少io请求。

react和webpack的区别是什么

本教程操作环境: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请求。

【相关推荐:Redis视频教程】

以上就是react和webpack的区别是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2935380.html

(0)
上一篇 2025年3月11日 20:51:39
下一篇 2025年2月26日 00:44:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • react用什么管理状态

    react管理状态的工具:1、利用hooks进行状态管理;2、利用Redux进行状态管理,这种方式的配套工具比较齐全,可以自定义各种中间件;3、利用Mobx进行状态管理,它通过透明的函数响应式编程使得状态管理变得简单和可扩展。 本教程操作环…

    2025年3月11日
    200
  • react中使用hook的好处是什么

    react中使用hook的好处:1、简化逻辑复用,能更容易复用代码,Hook让开发者可以在无需修改组件结构的情况下复用状态逻辑;2、Hook能够让针对同一个业务逻辑的代码聚合在一块,让业务逻辑清晰地隔离开,让代码更加容易理解和维护。 本教程…

    2025年3月11日
    200
  • react高阶组件是什么意思

    在react中,高阶组件是一个函数,是用于重用组件逻辑的高级技术;高阶组件用于接受一个组件作为参数,返回一个新的组件,这个新的组件会使用传给它的组件作为子组件,可以用属性代理和反向继承两种方法来实现高阶组件。 本教程操作环境:Windows…

    2025年3月11日
    200
  • react中hook是什么

    在react中,hook是React16.8新增的特性,用于在不编写class的情况下使用state及其他的react特性;可以用函数组件去使用react中的一些特性,也可以让函数组件也拥有状态,通过自定义hook实现在组件间公用状态操作。…

    2025年3月11日
    200
  • react15与16版本的不同是什么

    不同:1、15版本架构分为协调器和渲染器两部分,而16版本架构分为调度器、协调器和渲染器三个部分;2、15版本的reconciler是采用递归形式工作是同步的,而16版本的reconciler采用的是异步可中断更新代替15版本的同步更新。 …

    2025年3月11日
    200
  • react单页面和多页面的区别是什么

    区别:1、多页面应用不同的URL返回不同的HTML,而单页面应用不同URL返回同一个HTML;2、多页面应用即使两个页面存在公共资源,这些公共资源会被清空重新下载,而单页面应用的这些公共资源不会被重复下载。 本教程操作环境:Windows1…

    2025年3月11日
    200
  • react中key的用法是什么

    在react中,key用于识别组件,可在DOM中的某些元素被增加或删除时识别哪些元素发生了变化,是一种身份标识;可以根据key来决定是销毁还是更新组件,若key相同,组件有变化就只更新组件相应的属性,若key不同,会销毁之前的组件重新渲染。…

    2025年3月11日
    200
  • react怎么关闭eslint

    方法:1、利用“npm run eject”复制所有依赖文件和相应的依赖到项目中;2、在“package.json”中修改“”eslintConfig””项目的代码;3、若缺少依赖,需要重新安装依赖,利用“npm s…

    2025年3月11日
    200
  • react-redux有什么用

    “react-redux”的作用:1、将组件分为了容器组件和UI组件;2、取代redux中的“store.subscribe”监听组件的状态变化,用于渲染组件;3、配合redux使用,使组件轻松的拿到全局状态,方便组件间的通信。 本教程操作…

    2025年3月11日
    200
  • react dnd的用法是什么

    react dnd用于构建复杂的拖放界面,并保持组件之间的耦合,是一组react高阶组件;使用时只需用对应的API将目标组件包裹,即可实现拖动或接受拖动元素的功能;不需要判断拖动状态,只需在传入的spec对象中各个状态属性中做对应处理即可。…

    2025年3月11日 编程技术
    200

发表回复

登录后才能评论