16/04月 - The New World

三个月

忙碌的三月,春季正中央。

所以连着写了三篇月记了呢。

所以

四月真的过的很快。

收拾之前项目的烂摊子,做做后续的小需求,顺便见识了人员变动的风雨飘摇。

想了想以后的路。

技术方面的话,我觉得自己向后端转型,啊不,是技术涉猎面上向后端靠拢的步骤给大大的提前了。

如果选一个语言作为我向后段的跳板,决定就是PHP了,所幸公司现在还有个可以传授我PHP方面经验的前辈。而且也很好说话滴。

这阵子看了下PHP的语法,觉得这玩意和js很想。至少function这一层来说是。但是他的函数作用域又稍微有所不一样,但这都不是啥事。那个以$开头才能定义变量才是真的叼。还有全局静态变量,什么魔术变量,什么默认对象,叼的不行。

我算是看透了,这个php啊,简直就是为了web而生的。

一个php文件就直接解决了模板,控制器,后端逻辑这些问题。简单的不能再简单。

然而,并没有然而

前端经理的入职简直是给我开辟了一个新的世界。

当以前看过无数次,却没有真切看过的前端工程化的项目摆在面前,我心里激动的不可描述。

好蠢的感觉,一个项目的种子文件看得我这么激动。。。

哈哈。

其实是因为验证了一年多以来我的想法,

在我写前端项目的时候我常常会想看外面的世界,也就是静态文件目录以外的世界。

如果说我们前端就是给浏览器看的,那我们html和css和js都会在一个“静态文件”的目录下。这个目录直接跑起来就是所谓的前端app。无需任何后端,除了静态文件没有其他url规则,也不需要数据库,也基本没有ajax交互(没有后端逻辑,只能获取简单的静态资源)。

这就是前端最初的范畴。

然而既然这个项目跑起来了,其实是有个简单的只能让你访问静态文件的后端,不然你是无法通过http方式访问这些静态前端文件的。所以说前端只在自己的静态目录里玩,其实是无论何时都离不开后端的。

所以我们说第二层,这一层建立在http之上,通过url规则来访问我们项目的后端资源,只不过在一些接口之外,还有些是纯文件。这些纯文件单独提取出来就成了所谓的第一层(前端静态资源层)。

这一层是通用的所有web项目都会有的一层,jsp在这里面有套src,webContent什么玩意的规则,php呢,更简单,大家都是.php文件,而nodejs项目,就是我马上要说的,则是view,static,route等一套规则。

如果说这一层还在普通web工程师的知识范畴。那么前端工程化之后的第三层就比较有趣了。

首先,第二层是一个完整的web项目,但是我们需要对文件进行有选择的压缩编译,所以我们需要有一个能对src源码文件夹目录进行操作的外层文件,他能将src,也就是第二层目录进行操作并最终生成一个dist压缩目录。

我们选用gulp来操作我们的第二层,同时用npm来管理最外层(第三层)和第二层的所有nodejs程序的依赖。

在这一层我们从更高的工程角度审视了这个项目,我们会对源码进行压缩,会对所有的静态资源的引用进行路径替换操作。同时有了一个更外面的启动文件,可以直接通过全局变量的修改来决定启用的是debug还是product环境,也就是在src和dist目录之间进行切换。

到这一层,就完毕了。

所以为什么我会觉得理解这个工程化的项目目录我会如此高兴,

就是因为我所困惑的第二层和最外层终于被证明不是一个层级的东西了。

我的源码和我的压缩文件的目录并不是一起的。所以我能从更高的层面管理整个项目,在这时,“前端”真的被扩充了太多太多,这里的体量,完全不是一个只会操作简单的静态文件目录的前端能够驾驭的。

结束语

明明是月记,却写得和技术贴一样。。。

如果后续我对前端工程化体系有了更明确和深刻的认知,我一定重新写一个完整优雅的帖子。

今天就到这里吧。

哈哈,4月的月记我5月15号才写。。。

Loading Disqus comments...
Table of Contents