项目升级到vue-cli3之后,之前一些遗留的代码变成习惯都需要更改。所以,在公司的项目上,这几个月一直在做重构性的工作。

工作主要涉及到一下几点:

1、项目从v2迁移到v3,除了一些页面迁移工作,还需要把环境配置,npm包的取舍做好。

2、对比较乱的初始项目做了项目文档,梳理了开发规范和代码规范,应用好Eslint和Airbnb代码检查。不过这一块由于Airbnb规范校验的比较严格,又手动更改了代码检查规则。

3、对公司的插件的再封装,许多ui组件应用太过于混乱。

4、因为公司有内外网环境并行,感觉很难做到持续集成,略感遗憾。

5、Git提交规范梳理,约定好提交规则,后期如有可能,写入hooks,自动校验

除了做这些工作,其余的时间都是在忙公司的项目。

最近在做项目的时候,也遇到了一个刚升级有点懵逼的问题,毕竟我之前搞React,对Vue项目的熟练度还待提高。

这次遇到的问题大多数小白可能也遇到过,我也就此记录一下,勉强算是一个经验之谈。

事情是这样的:

项目中,用到router的keep-alive设置,之前一直都设置在路由的meta中,在新项目中,这次就需要缓存的组件做了单独的配置,所以写在了App.vue的路由参数里面格式如下:

<transition :name="transitionName">
      <keep-alive include="要配置的路由字符串,以逗号分隔">
          <router-view></router-view>
      </keep-alive>
 </transition>

不过在配置了include参数之后,发现页面的push依旧还总是重新构建页面,导致v-modal绑定显示失败,跳转到选择页面再回来,也会导致页面重新构建,之前的数据丢失问题。

当时百思不得其解,后来在各种尝试之下,才知道用name参数可以解决这个问题。

就是将你要缓存的路由页面配置name属性,如下:

export default {
    props: [],
    name: '设定name',// 此处为解决方案
   data() {}
}

按理说,这应该算是常识问题,倒是耗费了两个小时时间,感觉实在是浪费生命,于是才有了记录这篇文章的必要。