<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wuyulkl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wuyulkl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wuyulkl]]></copyright><item><title><![CDATA[基于FlyEnv安装PHP集成环境]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/148333577</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/148333577</guid><author>wuyulkl</author><pubDate>Fri, 30 May 2025 10:38:04 +0800</pubDate><description><![CDATA[无论是从 Windows 转向 Mac，还是在不同设备间切换，FlyEnv 都能为你提供一致的开发体验。作为初学者，首先面临的就是开发环境的搭建，最终找到了FlyEnv ，正是为了解决这一切痛点！它不仅是开发环境的“瑞士军刀”，更是全栈开发的效率引擎，助你告别繁琐配置，专注代码创作。无论是新手开发者还是经验丰富的极客，都能快速上手，无需为复杂的环境配置浪费时间。同时，它对系统资源的占用极低，确保你的设备在高效运行的同时保持流畅。通过 FlyEnv，你可以：节省时间：告别繁琐的环境配置，快速启动项目。]]></description><category></category></item><item><title><![CDATA[Mac下SourceTree无法执行pre-commit的解决方案]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/129803496</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/129803496</guid><author>wuyulkl</author><pubDate>Mon, 27 Mar 2023 20:40:37 +0800</pubDate><description><![CDATA[最近负责的Web项目中参与人数多了起来，很多人没法自觉地遵守编码规范、在提交代码之前不检查自己的代码格式，导致提交了代码之后无法通过流水线的代码质量检查。链接：https://www.jianshu.com/p/fe4f53725f35。商业转载请联系作者获得授权，非商业转载请注明出处。使用命令行和WebStorm来进行代码提交时都能够正确调用。调用失败后直接忽略了错误进行了强制提交。来保证SourceTree能够找到。作者：foolchen。]]></description><category></category></item><item><title><![CDATA[工程化前端神器—— husky + eslint + prettier - 提升前端代码质量指南]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/129791571</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/129791571</guid><author>wuyulkl</author><pubDate>Mon, 27 Mar 2023 11:10:55 +0800</pubDate><description><![CDATA[可以输入以下指令快速复制。]]></description><category></category></item><item><title><![CDATA[prettier 函数function 后面空格移除，.prettierrc与.eslintrc.js冲突]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/129034097</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/129034097</guid><author>wuyulkl</author><pubDate>Tue, 14 Feb 2023 21:39:58 +0800</pubDate><description><![CDATA[链接：https://www.jianshu.com/p/53a7fbee7acf。商业转载请联系作者获得授权，非商业转载请注明出处。选择：prettier-eslint。设置了函数与括号之间有空格，而。]]></description><category></category></item><item><title><![CDATA[uniapp优化h5项目-摇树优化，gzip压缩和删除console.log]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/127102537</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/127102537</guid><author>wuyulkl</author><pubDate>Thu, 29 Sep 2022 10:35:00 +0800</pubDate><description><![CDATA[uniapp优化h5项目-摇树优化，gzip压缩和删除console.log_赵啸林的博客-优快云博客]]></description><category></category></item><item><title><![CDATA[npm, yarn常用命令&问题]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/126611279</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/126611279</guid><author>wuyulkl</author><pubDate>Tue, 30 Aug 2022 19:54:46 +0800</pubDate><description><![CDATA[/usr/.nvm/versions/node/v14.15.4/bin/npm（路径样例）链接：https://www.jianshu.com/p/511ed175c135。商业转载请联系作者获得授权，非商业转载请注明出处。如果unlink 取消链接失败，可以查找到全局包，移除掉。或者项目package.json里面配置发布源。指定前缀为@mylib 的文件，都从。是把包链接到全局npm下。显示当前安装的所有全局包。作者：Conner立。...]]></description><category></category></item><item><title><![CDATA[【vue 3】blob文件流 导出 excel 表格]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/126326026</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/126326026</guid><author>wuyulkl</author><pubDate>Sat, 13 Aug 2022 23:33:01 +0800</pubDate><description><![CDATA[代码】【vue 3】blob文件流 导出 excel 表格。]]></description><category></category></item><item><title><![CDATA[axios使用及配置明细小记]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/126155986</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/126155986</guid><author>wuyulkl</author><pubDate>Thu, 04 Aug 2022 11:14:08 +0800</pubDate><description><![CDATA[axios使用及配置明细小记 - 双子星世界 - 博客园]]></description><category></category></item><item><title><![CDATA[Eslint + Prettier 格式化 Vue3 代码]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/126018080</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/126018080</guid><author>wuyulkl</author><pubDate>Wed, 27 Jul 2022 16:41:19 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/dd43e06b710a]]></description><category></category></item><item><title><![CDATA[Charles4.6.2版本手机抓包设置，抓包失败的解决方法详解]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125388477</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125388477</guid><author>wuyulkl</author><pubDate>Fri, 15 Jul 2022 19:14:05 +0800</pubDate><description><![CDATA[打开手机“设置”->“WLAN”，选中当前连接的Wi-Fi名长按选择“修改网络”，在高级选项中找到代理，选择手动配置代理，将第一步的端口号填到“端口”，第二步获取到的ip填写到“主机名”，点击保存。解决方法菜单栏中选择“Proxy”——>"SSLproxyingsettings"——>"Add"——>全部填*——>再点击OK，记得勾选“EnableSSLProxying”前面的方法，填上*443和**点击“安装证书”，在点击“下一步”，设置如下，后面再点击下一步，最后点击确定。...]]></description><category></category></item><item><title><![CDATA[浏览器的前进后退时，页面的缓存机制]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125810965</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125810965</guid><author>wuyulkl</author><pubDate>Fri, 15 Jul 2022 19:13:26 +0800</pubDate><description><![CDATA[后退/前进缓存（Back/forwardcache,以下简称bfcache）是一种浏览器优化，可实现即时的后退和前进导航。它显著改善了用户的浏览体验，尤其是那些网络或设备速度较慢的用户。作为web开发人员，了解如何在所有浏览器上基于bfcache优化页面非常重要。这样可以提高用户体验。...]]></description><category></category></item><item><title><![CDATA[no-cache、max-age=0、must-revalidate区别]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125810870</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125810870</guid><author>wuyulkl</author><pubDate>Fri, 15 Jul 2022 19:04:45 +0800</pubDate><description><![CDATA[在执行must-revalidate时，若浏览器第二次去请求服务器来做新鲜度验证，结果服务器挂了，无法访问，那么缓存需要返回一个504GatewayTimeout的错误（这里应该是像nginx这样的代理来返回，若是浏览器如chrome，将直接是ERR_CONNECTION_REFUSED，即无法访问，连接被拒绝）。而如果是no-cache，当验证新鲜度时，服务器扑街，则会照样使用本地缓存显示给用户（有的总比没的好，当然有可能显示的就是旧的文档了）。这里对no-cache较新的定义。...]]></description><category></category></item><item><title><![CDATA[HTTP中缓存相关的字段(Cache-Control, Expires, Last-Modified, ETag)介绍 以及浏览器前进后退行为的缓存特点]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125808369</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125808369</guid><author>wuyulkl</author><pubDate>Fri, 15 Jul 2022 16:57:30 +0800</pubDate><description><![CDATA[字段（即上次缓存的Last-Modified值），服务端比较If-Modified-Since的值和资源的实际修改时间，如果未修改，则返回304，不返回资源的实际内容，表示资源未改动，则浏览器使用缓存中的资源。但是html资源除外，由于在前进后退的时候，html资源默认都会使用上一次的资源，如果在前进、后退期间服务端更新了资源，若想要新资源立即生效，可以把html资源设置成no-cache。html中的js资源即使设置成no-cache，前进后退的时候，结果也是fromdiskcache。...]]></description><category></category></item><item><title><![CDATA[window.open()的奇妙冒险]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125508015</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125508015</guid><author>wuyulkl</author><pubDate>Tue, 28 Jun 2022 18:53:21 +0800</pubDate><description><![CDATA[前言
一个简单的优化需求，竟然引发了window.open()的奇妙化学反应☠️背景
项目X的A页面需要点击一个区域后，跳转到对应的页面B，这个页面需要新开窗口来展示。B页面成功打开后再起接口还在loading的时候关闭，会造成当前浏览器中所有项目X的页面卡死；反之当B页面所有接口loading完成后再关闭就不会卡死😅。这里跳转尝试了多种方式——window.open()；React的标签；react-router的useHistory等等，除了useHistory正常外其他均以卡死阵亡，...]]></description><category></category></item><item><title><![CDATA[window.open 卡死]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125507986</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125507986</guid><author>wuyulkl</author><pubDate>Tue, 28 Jun 2022 18:50:43 +0800</pubDate><description><![CDATA[最近公司里开发了一个低代码平台，使用的react技术栈。这个平台顶部有一个预览按钮，当点击时，会使用window.open打开一个新的浏览器tab，显示预览页的内容。开发的时候，发现一个奇怪的现象，如果打开之后的页面，资源没加载完（页面内有不少ajax交互），就快速关闭掉了，父页面就会卡死。另一个同事对这个事情进行了排查，最后发现是window.open的问题，这个看似不起眼的api，其实暗藏玄机最终发现问题和chrome的进程机制有关系。原因：谷歌浏览器在给新开窗口分配进程时，看是否同源，非同源页面会单独]]></description><category></category></item><item><title><![CDATA[浏览器一个Tab对应一个渲染进程？浏览器渲染进程个数究竟与什么有关系（多进程浏览器Chrome为例）]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125502678</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125502678</guid><author>wuyulkl</author><pubDate>Tue, 28 Jun 2022 15:15:46 +0800</pubDate><description><![CDATA[默认情况下，多进程浏览器的一个Tab下的确就一个渲染进程，不过相信各位也看到过多个Tab页面共用一个渲染进程的情况。事实上，也存在一个Tab下有多个渲染进程的情况，这其实与window.opener属性以及浏览器安全策略——站点隔离相关。（文章基于chrome 版本 90.0.4430.11测试）怎么看浏览器的渲染进程？在A页面（父页面）定义了一个打印参数值的方法，设置一个在新窗口打开B页面的链接，一个在新窗口打开B页面的链接，还注释了一个链接到百度首页的iframe。
在B页面（子页面）分别定义了一个调用]]></description><category></category></item><item><title><![CDATA[Charles4.6.2版本手机抓包设置，抓包失败的解决方法详解]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125388510</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125388510</guid><author>wuyulkl</author><pubDate>Tue, 21 Jun 2022 12:01:55 +0800</pubDate><description><![CDATA[在Charles的菜单栏选择“Proxy”->“Proxy Settings”，填入代理端口8888（⚠️这个端口不一定填写8888，也可以写别的端口），☑️上“Enable transparent HTTP proxying”第一步就完成了。如下图：如果端口设置成8888，当手机连接代理时填写的端口要跟该设置的端口一样在Charles菜单栏选择“Help”->“Local IP Address”，就会出现Charles所在电脑的ip。如下图： 获取IP地址也可以在cmd中输入ipconfig。IPv4注意]]></description><category></category></item><item><title><![CDATA[axios.defaults.withCredentials]]></title><link>https://blog.youkuaiyun.com/wuyulkl/article/details/125305858</link><guid>https://blog.youkuaiyun.com/wuyulkl/article/details/125305858</guid><author>wuyulkl</author><pubDate>Wed, 15 Jun 2022 22:21:15 +0800</pubDate><description><![CDATA[withCredentials:默认情况下，跨源请求不提供凭据(cookie、HTTP认证及客户端SSL证明等)。通过将withCredentials属性设置为true，可以指定某个请求应该发送凭据。]]></description><category></category></item></channel></rss>