Vue3源码分析——数据侦测
Vue3.0发布beta版本了,还是来凑个热闹看看源码。本系列大概会有三篇文章,包括应用整体流程、新的响应式系统、组合式API相关内容。
Vue的一个特点就是数据响应式系统,由于这是一个比较独立的系统,因此我们先从这里开始,看看新的Proxy是如何实现数据依赖收集和通知的。
TypeScript类型声明高级用法
发表于 | 分类于 编程语言/TypeScript
最近看了一些分析TypeScript
的文章,发现有很多自己不了解的地方,原来类型声明还有这么多高级用法,真是有点落伍了。于是重新补习了一下TS文档,整理了本篇文章。
尝鲜Vue3——vite源码分析
前两天尤大在Vue 3.0 beta
直播中提到了一个vite
的工具,其描述是:针对Vue单页面组件的无打包开发服务器,可以直接在浏览器运行请求的vue文件,对其原理比较感兴趣,因此体验并写下了本文,主要包括vite实现原理分析和一些思考。
记一次Vue项目打包优化
接手了一个移动端Vue项目,由于历史原因,整个项目打包速度和页面加载速度都比较慢,本文记录了优化该项目的一些工作。之前整理过一篇webpack折腾记(四):性能优化,本文可以算作该篇文章的一次实践。
一些提高代码健壮性的方法
发表于 | 分类于 编程技术
在过去的开发经历中处理了各种奇葩BUG,认识到代码健壮性(鲁棒性)是衡量工作效率、生活质量一个非常重要的标准,本文主要整理了提高代码健壮性的一些思考。
使用Electron实现一个iPic
iPic 是一个很赞的应用,可以快速将图片上传到图床上。由于非会员只能使用免费的新浪图床,因为最近新浪图床防盗链和图片有效期的缘故,因此决定自己实现一个图片快速上传的应用。
大致对比了一下Flutter Desktop
、PyQT
和Electron
等框架,最后决定使用Electron
,花了两三个晚上实现了将剪切板的图片快速上传到七牛上(非广告~)。
本文将回顾整个开发流程,并记录第一次正儿八经开发Electron
的经验。
在Flutter中封装redux的使用
最近在家办公,发现了之前没写完的一个Flutter版APP,于是打算重构并继续开发,本文主要整理在Flutter中使用redux的一些开发经验。
如何优雅地处理loading
发表于 | 分类于 技术原理
在业务代码中,为了判断异步操作是否在运行中,往往通过额外的标志量来区分;本文将从dva-loading
源码出发,分析在React项目中如何统一管理loading状态,然后给出一种在Vue项目中管理loading的解决方案。
dva源码分析
发表于 | 分类于 源码分析
dva是基于react的二次封装,在工作中经常用到,因此有必要了解一下其中的实现。本文将从源码层面分析dva是如何将redux
、redux-saga
、react-router
等进行封装的。
NodeJS中CommonJS和ESModule混用的问题
JavaScript在过去几年飞速发展,同时也带来了很多混乱的问题,比如模块系统cjs、esm混用,或者js、ts混用的项目比比皆是。
能理解将新技术落地到项目中的心情,但同时也需要具备一些知识避免这些混乱带来的影响。
从源码分析几种中间件的实现方式
发表于 | 分类于 技术原理
在前端比较熟悉的框架如express
、koa
、redux
和axios
中,都提供了中间件或拦截器的功能,本文将从源码出发,分析这几个框架中对应中间件的实现原理。
将博客重构为SSR渲染
发表于 | 分类于 博客
前段时间写了一个简易的类React框架:NeZha,现在打算加上服务端渲染的功能,并准备重构整个博客的同构渲染。本文将整理SSR在框架的项目构建方面的原理,然后进行简单实现。