这几天学习vue3时候,我直接将vue2进行了重构,但是遇到了下面这种问题

TypeError: relativeURL.replace is not a function
    at combineURLs (combineURLs.js:13:55)
    at buildFullPath (buildFullPath.js:18:12)
    at dispatchXhrRequest (xhr.js:81:22)
    at new Promise (<anonymous>)
    at xhr (xhr.js:49:10)
    at Axios.dispatchRequest (dispatchRequest.js:51:10)

最后才发现,是函数名称与引入的请求路径发生冲突了
之前在vue2当中,我引入的路径名称如下

import { adminList, adminDel, getSysRoles } from "../../api/index";

其中methods当中有一个getSysRoles

修改为vue3时候,直接下位下面这样了

const getSysRoles = () => {
      console.log('getSysRoles', getSysRoles);
      request.get(getSysRoles).then(({ data }) => {
        console.log('sysRoles', data);
        sysRoles.value = data;
      });
    }

这个时候读取的getSysRoles 读取的是函数名称而不是路径,所以发生了下面这种错误,只需要给路径一个别名即可

import { adminList, adminDel, getSysRoles as getSysRolesUrl } from "../../api/index";
Logo

前往低代码交流专区

更多推荐