【vue】项目中遇到的各种问题(记录持续更新)

219 阅读1分钟

突然收到产品反馈一个古老项目测试环境出问题了

听到这个消息一脸黑人问号??????,这是我刚进公司接手的项目,已经很久没有改动了,怎么会出问题??

收到的问题是这样的,一个页面全选和多个选择的表格,跳转到另一个页面会带参数过去

this.$router.push({
      path: '/order/inputTS',
      query: {
        ids: '',
        orderType: this.orderForm.instatus,
        isAll: true
      }
    })

如果是全选isAll为true否则为false并传ids,但是问题是现在不管怎么在下一个页面查询的都是全部的数据

开始排查,直接看浏览器参数没有任何问题,再看代码逻辑没有问题

😤最后经过排查找到问题,是router把Boolean值解析为了字符串,导致在查询页面判断无论怎样都为true

【这个问题值出现在了测试环境,线上正常本地正常,最后修改了Boolean值直接更改为字符串yes no判断】

app内嵌H5部分Android机型打不开

页面报错 看起来像是一个webpack问题,经过一番排查发现竟然是axios封装用到Promise.reject(error) Promise.resolve(error)的兼容问题

axios.interceptors.request.use(
  config => {
    config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
    if (config.method === 'post') {
      config.data = qs.stringify(config.data)
    }
    return config
  },
  error => Promise.error(error),
)

解决安装 npm i es6-promise 并在main.js 引入 require('es6-promise/auto')

打包警告 chunk chunk-commons [mini-css-extract-plugin]

原因: 公共组件在各个页面引入顺序不同
解决: 调整各个组件引入顺序