去年的这个时候,我还是一个从来没有接触过前端的某公司实习生,之前学了一段时间的java,但是学得确实不怎么样。公司对于刚进的新人会有一个短期的培训,培训内容当然是前后端统统来一遍,这里讲一个笑话,开始我一心想搞java,结果因为培训的时候觉得电脑跑公司框架太慢了(哪来钱换电脑啊),所以果断选择了前端,因为它实在不怎么吃电脑(后来发现代码量大了还是很吃电脑的)。那时候我真实是一个前端小白,啥也不会,但好在前端上手还是很快的,而且感觉自己写出来的东西立马就能在浏览器上面得到展示,这对当时的我来说还是很舒服的。
公司培训的话除了一些基础的js和css,还有的就是vue.js,第一次接触框架级别的东西,感觉用着比较方便,但是对于我这种基础不太好的人来说,无疑是一个很不好的开端,因为这样很容易忽视一些js里面原生的东西,比如只是知道vue数据双向绑定,却不知道它是通过调用js原生的事件完成的,只知道vue的实例内容怎么写,却忽视了它也不过是一个object对象而已。可能是因为这是所有初级前端的命,刚进门能做的只是不断地搬砖,公司的平台是vue+element-ui为基础,在原来的element-ui组件的基础上面进行新组件的封装和使用,然后根据不同的业务场景构成业务模板,整合到一个前端框架里面,当然这些都是后面才慢慢明白的。当时刚进公司没有什么正事给我做,我记得做的第一件事情就是用element-ui和vue写一个页面,代码量大概八九百行把,好了今天就到这里,我赶着回家,未完待续
2019.8.20(续)
上面支支吾吾写了一堆废话,其实期间就用jQuery做了一个ctrl+F的搜索小插件还挺有趣的,这里给个链接有兴趣的可以去看看(https://github.com/luo5212226/myJavascript),具体过程这里不再累述,下面主要讲下做了两个项目的经验。
首先,去年做的第一个项目,是一个银行的项目,主要也是采用Vue框架,然后以公司自己在element-ui为基础开发的组件开发,我在其中主要负责的是相应业务页面的开发,大概解释一下就是根据设计文档优美地把后端数据展示出来并进行相关操作(也就是搬砖,现在想起来真是太难了),以及前端对页面中表单表格的js处理逻辑的编写,项目的代码结构和requireJs类似,因为之前就接触了Vue一段时间,所以开发起来不太费力,只是在前后端联调的时候参数匹配比较繁琐,这里主要是利用ajax进行请求(这里推荐大家可以去看一下原生的XmlHttpRequest实现方法,虽然我现在都有些忘了哈哈哈)。其中比较坑的是,后端返回的数据的格式化以及数据合法性的校验,要反复调试,且要考虑多种情况,脑袋一定要灵光。
其次,就是今年去厦门出差做的一个项目,可怜的我之前并没有出过差,去了才知道有多苦(苦中作乐)。去了以后发现那边的技术好像确实比公司这边要先进那么一些,上手的项目主要是用webpack和Vue-cli3实现的,哇当时我心里面觉得还挺高级的,因为之前都是自己在网上看了一些零碎的知识,突然这么一个整体的项目摆在我面前,真的还不知道怎么操作,但是让我松了一口气的是那边也给了我一点时间熟悉项目,而我之前看的东西也派上用场了,webpack那些常规配置就不说了,这里我主要讲下技术。在接触项目之前,提到vue脑子里面首先想的是v-model,v-on这些简单的指令,接触并参与项目之后提到vue脑子里面首先想的就是vue-router,vuex等,另外发现项目中经常用到ES6的promise和async/await函数,甚至在生命周期上面都会用到(我现在也只是大概明白它是为了阻塞线程,让数据请求完毕之后再进行页面渲染),还有就是Vue-router和vuex可以分模块进行管理,最后统一调用require.context实现自动化导入模块。
其实项目接触得越多,感觉自己欠缺的就越多,需要学习的也还有很多,这让我在离开学校以后再一次体会到学无止境的感觉。
立个flag,过一段时间再整理一下目前的知识储备,以及下一阶段的学习方向。生命不息,战斗不止。