本文作者:文蔺
本文地址:http://www.wemlion.com/2017/2017-02-26-post/
本文由 @文蔺 创作,转载请保留此声明。
所有权利保留,请勿用于商业目的。

过完年之后,似乎就没有更新过公众号了。近一个月没登录,发现竟然还涨了几个粉哈哈。

首先向关注的朋友们道个歉,顺便叙述没有更新的理由。当然,其实你也可以认为,啥都不用说了,说白了就一个字,“懒”。嗯,我承认,这个原因确实占了很大一部分。还有两个字,“忙”,“烦”。所谓忙者,不外乎工作;所谓烦者,大半亦因此而起。

同事离职,接手项目,工作就两个字,“重构” —— 这两个字,还是打着引号比较好。以前真没有做过真正的重构工作,我理解的重构,不外乎迁移项目,改架构改技术栈,将原有的功能再实现一遍。

但这次重构有些不一样,历史遗留的重重 bug,在测试中被当作 bug 一一提了出来。看着几十个 bug 列表,眼里容不得沙的我,不由得不心焦 —— 这也就引出了另一个字,“烦”。这样焦虑起来,不但效率低,睡眠还差。我的心理素质,还真是有待提高啊。

闲话说完了,聊点正经的。

项目使用 Vue 开发。虽然 15 年的时候就把 Vue 的文档读过一遍,但基本没有写过一行相关的代码。前端焦虑症流行时,我也未能幸免。但写过一段时间的 React Native,后来又断断续续写过一点 Angular 2,最后才发觉,框架之间的核心思想大多是相通的。组件通信也好,数据流也罢,举一隅而知三隅,触类旁通,大体如此。所以主要的问题,还是在业务上。

但要真正用起来,还是需要一些练习。好在一开始就遇上了问题,找不到合适的树形组件。那就硬着头皮自己写吧。一遍一遍折腾完了,数据流、通信、API、规则这些东西,大概也就通了。

接着这股劲,又因为打包的问题,把 rollup 的各项配置差不多搞明白了,把 vue-loader、vueify、rollup-plugin-vue 这些包的源码大致看了一遍,弄明白了 .vue 文件以及 scoped CSS 的转换机制。但还不够彻底,rollup-plugin-vue 目前是不支持 scoped CSS 的(vue-loader、vueify 是支持的),只能将 CSS 单独输出成 CSS 文件,对于简单插件来说,这就有点尴尬了。However,因为懒,也因为洁癖(正则匹配 export default {\n,excuse me?),放弃了自己实现一个 rollup 插件的想法。(PS:补充一句,从 issue 来看,rollup-plugin-vue 的作者似乎并没有打算支持 scoped CSS。话说我遇到的问题也很简单,打包之后,前面是 ES2015 的 export default,接着又为 module.exports__vue__options__) 赋上 staticRenderFns render 属性,这俩之间的问题,不用正则没法解决。)

为了方便以后写 Vue 插件(really?),干脆做个命令行工具,生成项目模板吧。所以就有了 vgen 这个小项目。作为折中,只能让 CSS Modules 上了,缺点很明显,CSS 文件独立出来,还得把类名绑定到 data 中,累不累?不过也也算有些优点啊,既然用了 CSS Modules,BEM 得用吧。

这个周末没去加班,在家看视频。拾起了几年前关注的某视频网站。以前在 Windows 系统上时,有维棠这种工具帮我突破“星币”的限制,到了 Mac 上就尴尬了。那就自己来吧,从抓包做起,发现这会员机制真是弱爆,只能赚那些小白们钱。感谢万能的 Chrome 插件轻轻松松帮我实现跨域请求,感谢前段时间的小明星 flv.js 帮我转换视频格式。从此轻轻松松在线看视频,再也不苦恼了。

我看的啥?嗯,不要被吓到,音韵学,满语书面语教学,清代藩部制度。学习、代码两不误。

心焦的时候,写代码的同时,还在思考一些本质性的问题。想想未来,转型是必然的。编程吾所欲也,然吾所欲有甚于编程者。所以我和我家的小讨厌说,要是三十岁我还像现在一样,请务必抛弃我。

感谢阅读。

好喜欢秋裤猫,都想改名秋裤猫了。萌爆!

本文作者:文蔺
本文地址:http://www.wemlion.com/2017/2017-02-26-post/
转载请注明来源