作者: | 来源:互联网 | 2023-09-16 15:57
往期回忆前面2期都讲得是浏览器端的东西比较多,包含Webpack,虽然是Node处置惩罚的,然则照样浏览器端用的多,关于如今的前端开辟来讲,不懂一点效劳端的东西,险些没办法活,平常
往期回忆
前面2期都讲得是浏览器端的东西比较多,包含Webpack,虽然是Node处置惩罚的,然则照样浏览器端用的多,关于如今的前端开辟来讲,不懂一点效劳端的东西,险些没办法活,平常的雇用请求都邑加上要懂一门效劳端的言语,比方:PHP,Java之类的啦。如图所示:
所以我们这期就讲Node的东西。
程咬金的三板斧
一、劈脑壳 — 东西链
Node在前端范畴运用最为普遍的就是东西链了,一期提到的构建东西都是Node写的,固然另有其他许多东西,比方:京东工程化,百度开源构建东西FIS3,微信宣布的工作流东西等等一系列前端东西都是用Node写的。普遍的说,我以为一期提到的编辑器也算东西链的中的一种,Atom,vs code,Brackets都和Node密不可分。我个人感觉,Node的生长,实际上大大解放了前端的生产力,关于其他的效劳端言语的依靠基础能够说降到最低,能够依据本身的须要编写东西来完成手艺目的。
这方面人人也能够本身来产出下,比方我本身写了个小东西供本身运用:
vuejs 格式化 Atom插件
如今下载量也不错,有2000多了,另有好几个issues没有处置惩罚,哭!!
二、鬼剔牙 — 中心层
关于许多FE来讲,要搭建一个后端环境非常贫苦,而且不熟习,轻易失足(java,ruby,php),最糟的是本身不懂,失足了完整不会调试,你的脸色此时是如许的:
那末在13、14年的时刻,淘宝的前端团队,最先一连发文,前后端星散的思索和实践系列文章,提到了中途岛设计,也就是把Node作为前端和效劳端的中心层,也就是这个架构,
从这类图,不难看出,Node庖代本来php,java干的一部分事变,也就是我们常说的MVC框架中的VC基础都给Node来干,FE干的事变更多了,能控制的东西多了,意味着关于本身越发天真,能够斟酌更多的组件化,工程化,机能监控,数据剖析的事变。
这方面的实践人人能够参考美团这边的图文:
美团旅店Node全栈开辟实践
三、掏耳朵 — 炽热的全栈
Full Stack developer 是近年来热炒的一个观点,究其原因,跟Node的炽热不无关系,早些年讲,一个人(大牛不算普通人)既要通晓java又要通晓js,html,css照样很难题,许多头脑都不太一样,离开也很正常,而Node的涌现,为许多比较凶猛的前端供应了切入到效劳端的时机,言语层面的题目不在是难点,重要的对效劳端的知识点的熟习水平。Node的末了一个大招就是替代一些传统的效劳端言语,比方php,ruby,java等,在营业层上面运用Node来开辟效劳端完整不成题目。
比方: uber的调理体系险些都是用 node.js 编写的
这方面的文章也有许多了,人人能够本身去搜搜看,包含种种框架,另有种种开源体系,都能够找到。固然也另有林林总总的坑和题目以待人人去踩和处理。
说说自家事
我们公司来讲的话,三板斧基础都用上了,打包构建自不必谈,基础每一个前端都邑用到,第二板斧我们公司已基础切换过来了,年后3月启动,现在是一切的web页面都是Node作为中心层,替代了php的衬着,中心天然有许多的难题要战胜,但团体上来讲开辟的效力照样大大提拔,不须要在设置php的环境,也不必在体贴种种环境的依靠,团体上本身的一个自力的效劳,运用接口的情势和效劳端通讯。
那末三板斧为什么会用到,主如果现在国内最常见的mobile的web页面,基础在微信内里撒布,然后这些页面还须要肯定的数据交互,而且这类页面的特性就是短平快,不须要那末严谨,这类页面迥殊合适前端本身一撸究竟,前后端通吃,接上 MongoDB当作数据库,基础两三天以内就可以开辟一个运动页面出来,不须要对其他效劳有任何依靠,包含微信受权都能够本身搞定,工作量实在比对接其他言语效劳大不了若干,某些方面,我个人以为还减少了许多的沟通本钱。
痛点– 作育了本身的一个开源
express的路由插件
先说说这个插件做什么的: 主如果自动的加载express框架下面的路由,以免一个一个路由须要手写。
一般我们在express框架下面,写路由的时刻都是一个一个的手写,然后在app.js内里去一个一个援用,平常是如许子的
那末好一点的状况,是如许子的,疏散每一个雷同名字的路由到文件中,然后援用文件在app.js内里。
但实际上你可能在项目中路由状况是如许子的
你有什么主意?
虽然如许子也就是一个文件多两行代码,我照样不爽,我为什么要由于同一个划定规矩而去多写这两个代码,而且10个两行,就是20行,原则上,能用机械干的事变,就不人干,而且PHP的一些MVC框架能够自动加载路由,他们会有一个文件夹的分层,很明显,路由都放到Controller文件夹下,然后依据路由名来婚配文件名的响应action,依据这个我本身就撸了一个express的自动加载路由,然后斟酌了下一些特殊状况,做了点设置,不过现在只是支撑一级目次,没有斟酌多级目次状况,有须要能够本身增加,或许给我提issues。
按例总结
本篇文章重要讲的是关于Node的东东,它的运用方向,更倾向连系前端的运用,并非是很深切的Node道理,也算是给许多前端解惑下,为什么要运用Node,以及怎样运用Node,不要自觉的听信他人的发起,须要连系本身项目状况,手艺水平,以及团队配比。
更多的Node的运用细节和技能发起关注:
美团博客
大搜车
cnode论坛
下一篇我们开启怎样连系Webpack和express 搭建一个开辟环境和项目目次