Dart基础知识

写了挺长一段时间的flutter,却没有系统地学习dart,因此这里整理一下dart语言的基础知识。

阅读全文

理解数据状态管理

在传统的web应用中,用户和数据的状态更多地放在服务端,每一个页面的状态都在路由切换后重新从服务端拉取即可,前端并不需要过多地考虑数据状态的管理。随着单页应用的逐渐发展,前端需要管理越来越多的数据:数据的更新会导致UI的变化,UI的交互会触发数据的更新,多个页面之间可能会共享相同的数据,随着应用的的规模增大,维护起来会十分麻烦。

这篇文章主要整理下几种管理前端数据状态的方案,以及进一步思考其背后的实现和意义。

阅读全文

如何在代码中打日志

之前对于代码中的console.log一直是比较嫌弃的,以致于提交代码前一般会通过eslint检测是否包含了log输出。

最近一直在处理一个chrome插件的需求,需要打开某个url标签页,然后根据预先设定的操作行为,在页面上进行一些列操作(点击选项卡、选择日期、输入参数等),然后等待页面生成报表,实现自动下载的流程。整个过程较为繁琐,很不方便调试,在开发中使用了大量的console追踪页面的状态和操作行为的结果,逐渐认识到:日志应该是开发和调试中很重要的一环。因此在这里整理一下“如何在代码中打日志”的问题。

阅读全文

web跨页面通信的几种方式

最近在处理一个weex三端的项目,在weex文档中提到,不同的 Weex 页面使用的是不同的执行环境,即使全局变量也是互相隔离的,官方推荐使用BroadcastChannel 来实现实现跨页面通信。由于移动端safri中BroadcastChannel存在兼容问题,因此决定研究下web跨页面通信的其他方法。

阅读全文

优化博客开发环境和页面响应

之前博客使用的是gulp + gulp-webpack构建前端开发环境,存在无法支持热更新、无法自动同步文件hash等问题,因此在v0.5.0版本对整个静态资源开发环境进行了重构,比较完整地实现了node服务端渲染项目中的前端开发环境,下面是整个开发环境的实现整理。

阅读全文

升级博客到HTTPS

最近一直在搞flutter,遇见了使用flutter_webview_plugin支持webview的需求,打算把博客链接放上去,后来发现配置的网页URL必须是https的才行,由于之前站点一直没有升级https,因此需要首先解决这个问题。

下面是为站点申请免费的https证书的流程整理,实际操作之后,对于https的原理有了更清楚的认识。

阅读全文

如何部署前端代码

很早之前在知乎上看见一个提问:大公司里怎样开发和部署前端代码?,其中张云龙(fis3作者)的回答十分精彩。但当时由于水平有限,接触到的业务和开发环境也比较简陋。现在公司推行微服务,前端静态资源也基于fis3进行开发环境搭建和部署,算是这个回答比较完整的实现。

现在,是时候思考一下静态资源部署的重要性了。

阅读全文