dw网站开发环境,wordpress的页面图片排版,印度人做网站,电子商务网站建设及管理1.说说你对webpack理解#xff1f;解决什么问题#xff1f; Webpack 是实现前端项目的模块化#xff0c;用于现代 JavaScript 应用程序的静态模块打包工具#xff0c;被webpack 直接引用的资源打包进 bunde.js的资源#xff0c;当webpack 处理应用程序时,它会在内部构建一…1.说说你对webpack理解解决什么问题 Webpack 是实现前端项目的模块化用于现代 JavaScript 应用程序的静态模块打包工具被webpack 直接引用的资源打包进 bunde.js的资源当webpack 处理应用程序时,它会在内部构建一个依赖图,依赖图对应映射到项目所需的每个模块 并生成一个或多个 bundle 解决问题 1️⃣编译代码能力提高效率解决浏览器兼容问题 2️⃣模块整合能力提高性能可维护性解决浏览器频繁请求文件的问题 3️⃣模块能力,项目维护性增强,支持不同种类的前端模块类型,统一的模块化方案,所有资源文件的加载都可以通过代码控制 2.说说webpack的热更新是如何做到的原理是什么 模块热更新指在应用程序运行过程中替换、添加、删除模块、而无需重新刷新整个应用。 webpack中配置开启热模块 更改之后css可以直接更新js需要额外操作指定模块来热更新 原理总结 通过webpack-dev-server创建两个服务器: 提供静态资源的服务express和Socket服务 express server 负责直接提供静态资源的服务(打包后的资源直接被浏览器请求和解析) socket server 是一个 websocket 的长连接双方可以通信当socket server 监听到对应的模块发生变化时会生成两个文件.json和.js文件 通过长连接socket server 可以直接将这两个文件主动发送给客户端(浏览器) 浏览器拿到两个新的文件后通过HMR runtime机制,加载这两个文件并且针对修改的模块进行更新 3.说说webpack的构建流程 1️⃣初始化流程 从配置文件和 Shell 语句中读取与合并参数,并初始化需要使用的插件和配置插件等执行环境所需要的参数 2️⃣编译构建流程 从 Entry 发出,针对每个 Module 串行调用对应的 Loader 去翻译文件内容,再找到该 Module 依赖的 Module递归地进行编译处理 3️⃣输出流程 对编译后的 Module 组合成 Chunk,把 Chunk 转换成文件输出到文件系统 4.说说webpack proxy工作原理为什么能解决跨域 webpack proxy基本行为就是接收客户端发送的请求后转发给其他服务器。通过webpack-dev-server来实现代理服务将自动编译和自动刷新浏览器等集成在一起。webpack配置deServer属性里的proxy实现代理。 工作原理 proxy 工作原理是利用 http-proxy-middleware 这个http 代理中间件,实现请求转发给其他服器。 解决跨域在开发阶段, webpack-dev-server 会启动一个本地开发服务器而后端服务又是运行在另外一个地址上所以在开发阶段中由于浏览器同源策略的原因,当本地访问后端就会出现跨域请求的问题通过设置 webpack proxy 实现代理请求后,在代理服务器传递数据给本地浏览器的过程中两者同源并不存在跨域行为浏览器就能正常接收数据