- 博客(11)
- 收藏
- 关注
原创 【WuJie-腾讯无界微前端】
而对于子应用发起的请求能不能携带主应用下的cookie信息,我的理解是这样子的。wujie在创建过程中使用proxy代理子应用的window,location等,然后将代码执行时的location替换为代理后的proxyLocation对象,从而实现对子应用location的劫持,来返回子应用正确的location信息。img的src写的相对路径或绝对路径默认是按照当前浏览器的url来的,但是当中存在标签的时候,回按照base标签的herf属性作为相对的解析路径来请求资源。
2025-07-24 15:54:06
731
原创 【Vite与Webpack的区别】
在浏览器发展的历程中逐渐实现了对ES6语法的支持,Vite在本地运行时正是借助浏览器对ES6语法糖的支持实现了有别于Webpack(Webpack产生的时代浏览器还不支持ES6这些语法糖,像模块导入导出的import/export)本地运行时的行为。Vite在浏览器请求资源的时候还借助强缓存与协商缓存来加速页面的展示。对于依赖(像node_modules这样子的不怎么会变的使用强缓存,而对于编译的源码部分则使用协商缓存)的请求通过使用本地的缓存来省掉了发起请求以及等待响应的时间。
2025-06-06 16:52:58
1270
原创 【Next服务端渲染学习-SSR】
官网文档使用浏览器api,或者dom事件,或者像客户端渲染时所用的useState,useEffect需要写入在客户端组件当中(也就是说这部分的内容逻辑必须要单独起一个文件来写,不能一个文件写到底了)客户端组件可以作为服务端组件的子组件,服务端父组件可以通过props将值传递给客户端子组件。但是服务端组件不能显示的作为客户端的子组件,只能以children的方式传递到客户端组件中,并且无法传递值给服务端子组件。
2025-05-28 17:54:23
789
原创 【强缓存与协商缓存】
浏览器在重新部署后仍使用旧版本的缓存资源,导致DOM中的data属性值与CSS文件中的不一致。问题主要涉及强缓存和协商缓存机制。强缓存通过Cache-Control和Expires头控制,而协商缓存则通过ETag和Last-Modified头实现。在问题中,由于ETag的弱类型导致协商缓存未能正确识别资源更新,浏览器继续使用本地缓存。解决方案建议对无哈希后缀的资源禁用缓存,确保每次请求都获取最新资源,而对带哈希后缀的资源则依赖哈希值的变化来更新缓存。
2025-05-18 17:56:11
560
原创 【Webpack构建原理与设计理念-浅显理解】
Webpack的设计原理基于模块化构建和事件驱动的机制。其核心流程包括获取配置、事件驱动挂载、开始构建、编译模块、借助插件和加载器处理模块,以及构建优化。Webpack通过webpack.config.js获取配置,并返回一个compiler对象,用于启动构建流程。构建过程中,Webpack利用tapable库实现事件驱动,通过hooks挂载插件和加载器,确保在正确的时机执行相应的任务。构建流程包括模块编译、依赖处理、代码分割、Tree Shaking等优化操作。Webpack的设计理念是通过发布订阅模式,
2025-05-15 16:57:52
1398
原创 js数组方法使用
数组方法妙用concat用concat打平二维数组concat特性:不改变原数组参数:一到多个作用:参数是数组,打平(一维)拼接;参数是类数组或其它类型的值,直接拼接。巧用:用concat打平二维数组const test = (arr)=> { for(let i = 0 ; i < arr.length; i++){ if(Array.isArray(arr[i])){ return Array.prototype.concat.
2022-08-22 23:06:36
89
原创 js当中的toString使用问题
js中的数值直接调用toString方法报错,浮点数使用toString()方法的结果并衍生生出浮点数精度丢失的问题
2022-08-21 12:45:38
598
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人