微信小程序的那些事

小程序以免安装用完即走的特性自发布初就很火,即使是现在也是热度不减。小程序虽然是一个 HTML5,但是通过限制开发者的写法,提供一套自定义的组件以及写法,并且将一部分耗费性能的组件使用客户端渲染来极大的提高网页的性能。

前段时间我们也进行了小程序的开发。由于是接手的项目,这个项目之前是没有使用框架,直接使用原生小程序开发的,开发过程中就发现有很多不方便的地方。例如 NPM, Promise 组件化等。最后我对 wepy, tinajs, labrador, mpvue 等多个框架进行了调研,最后决定使用 tinajs 对项目进行重构。选择 tinajs 的原因是它是基于小程序的语法,并没有多大的改造,学习成本非常低。同时它的渐进式概念让我能够循序渐进的接入框架,而不是一下子就要把它的所有概念都要学习下来,这对当时工期比较紧张的我来说是比较重要的。当然还有一个更重要的原因是,它的源码非常的简单,即使是出了问题我也能快速定位出来。

不过即使是选择了一套正确的框架,碰到坑的情况也是在所难免的,小程序更甚。下面我就我这段时间碰到的一些比较经典的问题来说一下我碰到的一些问题。

mini program

阅读全文

ThinkJS 项目构建 Docker 镜像

其实这个话题很简单,不是很想写这篇文章。不过的确还是有很多朋友在打包构建部署上存在一些问题,恰巧最近使用 Docker 部署了几个 ThinkJS 相关的项目,所以还是拿出来说说吧。需要提前说明的是本文并不是 Docker 的基础教程,默认大家都是了解 Docker 的。然后我会分享一下我觉得 ThinkJS 项目构建和部署过程中可能需要注意的点,我们先说说如何构建镜像,然后再说一下可能出现的问题。

阅读全文