使用Jenkins部署前端项目

您好,我是沧沧凉凉,是一名前端开发者,目前在掘金知乎以及个人博客上同步发表一些学习前端时遇到的趣事和知识,欢迎关注。


现在如果想去中大型公司一般有两大门槛,一个是React,一个是TypeScript,离上次发文都快过去两个月了,这1个多月时间我已经全面拥抱了蚂蚁的React生态,即React+Antd+ProComponents+Umi+TypeScript。

这里友情提醒,如果是一个小型的外包公司,例如我现在所在的公司,团队不超过10人,技术选型的时候一定要慎重,除非是单人就能完成的项目,那么你使用什么都无所谓,开发完成后你感觉公司不爽拍拍屁股走人,管他后期好不好维护。如果是需要多人合作完成的项目,推荐技术栈选择Vue,为什么?因为愿意来小外包公司的人,技术栈几乎都是清一色的Vue,就算用过或者学过React,一问都是用的Class写法,对Hooks完全不了解。如果你这个项目还用上了TypeScript,那么恭喜你,你可能会花大量的时间招人。

当然,你可能说提高工资,提高到15K以上,自然会有会的人来,再招不到,就再提高薪资不就行了?问题是老板愿意嘛,小型的外包公司都属于有一顿没一顿的,稍微经历一个风波,老板随时都可能跑路,而且在目前大部分外包公司的老板甚至于做后端的人来讲,他们对前端的认知还在当年的JSP时代,觉得做后端的就是要比前端牛,做前端的工资就应该比后端低,我招个后端才10来K你一个前端还想要的更高?

我当前所在的公司的后端不止一次说,做一个网页你直接百度上面去找,找到了类似的直接COPY下来,改改代码就好了,几下就搞定了,我们当年JSP的时候就是这么搞的。

说了上面这么多,我其实是想说React和TypeScript是进入中大型公司的两把钥匙,如果你现在所处的是小公司,那么技术选型要慎重,不然你可能一个人就要干几个人的活。

说了这么多,下面开始进入到正文,为什么要在React使用TypeScript。

好处

使用TypeScript的主要目的是类型校验、智能提示,TypeScript几乎有了现在界面上的主流后端语言都有的一些特性,比如枚举、面向对象、函数重载等等。

首先我们来回想一下,在JavaScript中,我们通过ajax或者最新的fetch

并且你定义了变量类型后(例如数组或者对象),如果你使用该对象或者数组,它下面的某个值可能不存在,编辑器会提示让你进行处理。

Props

由于新项目完全拥抱了了React Hooks,我对Class组件的各种TypeScript用法并不是太熟悉,这里就只针对函数组件如何运用TypeScript。

React.FC

泛型组件

Props默认值

最后

了解了上面的这些后,在React中使用TypeScript的方法也了解的七七八八了,其实React使用TypeScript并不难,但是TypeScript语法本身似乎对于没有接触过类似Java和C#这种静态语言的前端开发者来说似乎有着很大的学习成本,虽然现在在React编程中几乎不会使用到面向对象,由于不再使用面向对象,所以装饰器也就无法使用了,TypeScript的装饰器只能用在Class中,这就导致了无法使用面向切面编程。

不过现在不管是Vue还是React都推崇函数式编程,函数式编程就大量的避免了面向对象比较复杂和难以理解的地方,例如:多态。就我个人而言,多态是整个面向对象中最难理解,最复杂的地方。

这1个多月以来通过学习React我学到了非常多的东西,我也会在后续的文章中持续总结我学习到的相关知识。尤其是JSX相关的知识,在这一个多月的时间中,我充分的体会到了JSX的方便之处,对比Vue的模板语法来说JSX拥有更多的优势,这些都会在我后续的文章中进行总结。