虽说这里是个人向文章,但还是希望能对各位有点帮助
个人情况:菜鸟弟弟毕业就干前端,干了3年 明天就去新公司上班,第五份工作还在外包(前一份没干完试用期,就不说公司的问题了,一年一跳还是很离谱了,希望能好好沉淀/好好过日子吧)
文章基本分成: 开发项目/vue/js/地图echarts/ide相关/webpack 等插件 几部分 本文更像是一些不常记得的知识点的总结(希望有这么多部分)
vue(2.x)
用了两年半了 也是平时搬砖用的都相对简单的东西的多 看完官网和掘金的几个好的vue的分享(有几个高端问题还是得多看看)就不会有什么大问题,以后还是要多研究(多看看v3吧)
数组相关
除了常说的几个操作api之外,如果数组通过函数传递去给新的函数赋值的话似乎会有指向相同地址的情况,甚至会在组件传值的时候都有影响(吃了亏),这时候需要深克隆处理一下,另外对于数组的过滤赋值 由于v2本身没有提供过滤方法,解决方案基本上是 :
生成新的空数组,对vuedata执行过滤/遍历操作 赋值到空数组里面 再赋值回去(整体的使用 = 或者 set都可以)也可以先保存一份vuedata,在把vuedata清空,通过push直接给进去(等以后关注到更好的形式)
有时候因为数组里面会包含方法,所以JSON化的操作形式不一定能完全有效(详细的好像也不太明白)
renderdom
在很多自定义的地方都挺需要的(有时候还是slot好),但是使用起来并不是十分习惯 暴露的方法跟平时的差距比较大,中文社区也找不到比较全的文章 render写起来还是太麻烦了
并且这时候如果要加载图片 似乎也只能放进static里面(应该是render的方式已经是js的写法了,就不能使用require了吧)
vue的架构
mixin的开发方式让人吐血,希望以后不要再碰到用mixin的开发(立即跪舔react和v3)(其实重点还是压根没有把mixin的使用意义给规范化,啥都往里面加),写成组件引用,写到prototype,写在每个文件下面不好吗,就离谱
开发经验/技巧
- 展示数据/插件使用
Vue.prototype.$log = window.console.log;
这样就可以在每个组件的模板中使用$log, 如果我们不想影响模板的渲染, 也可以:
{{ log(message) || message }}
js
1 码个位置以后补
2 忘记的点
-
正则表达式会继承之前的正则结果 所以每次都需要重新new一个正则去操作
项目开发
1 码个位置以后补
地图
一直以来都有做地图相关的东西,地图主要还是自定义部分会比较难处理效果,优化部分也没有接触到很多,毕竟只是人家地图api的搬运工。优化的话也就是只请求可视范围 ,海量点操作,减少内存使用去掉多余对象,应该说重点还是减少渲染点/渲染内容/渲染样式/减少地图操作 再加上生命周期记得清空地图这些,再高端的就是改源码了,但是地图api记得都是引用的,还需要加上apikey,不知道能不能行(也不会 摆烂!)(其实跟后台数据也有很大关系,各种重合点重合轨迹都没做优化,也不做分批请求打点,没有意义的)
- bmap echarts并存
由于项目的离谱,导致使用了echarts去加载地图,在地图上展示海量数据动画的方式去开发项目(暂时找不到),但是这种方式同时也能使用地图自己的api去操作
主要起点就是echarts的map设置 setoption 以及 bmap = mapEcharts(获取的echarts).getModel().getComponent('bmap').getBMap()-使用的是百度地图示例
最后由于echarts的效果基本都是canvans,可以与地图的点样式分开,通过设置zindex可以覆盖展示,就还是能完成对应的需求(什么轨迹+自定义点和点动画的效果)
离谱的点:
- echarts的清空操作会有问题,对types:lines的数据赋值也有问题(其他的估计也有),即使清空了数据去重绘也会把之前的数据给渲染出来(反正部门里的同事都看过都不知道为啥。。)可能是对应版本的问题(但是echarts也是4+的版本了,地图的版本可能会老一点但是没注意到是什么版本),最后通过默认就给data赋值全部的长度,在对应清空再去重绘/setoption才能解决
- echarts的操作并不是全部都在对应的api里面 有的设置是可以共用的
- 地图的覆盖物的操作还是只能保存一份vue数据(老问题了,可以object.freeze),有了数据才能做对应的删除(应该还有其他方法等大佬教导)
网络
不说多了,看这篇大佬的吧..juejin.cn/post/684490…
还有阮一峰的 www.ruanyifeng.com/blog/2018/0…
js
overflow会改变visible属性 的auto与hidden
暂时就这么多了,有些大佬的链接直接拿了,有侵权的话提示下 会删除
各位周末快乐