wyyx50
wyyx50
  • 发布:2022-06-09 09:56
  • 更新:2023-04-01 16:26
  • 阅读:1375

【报Bug】 HbuilderX中vue项目通过@开头引入的文件和方法无法转到定义

分类:HBuilderX

产品分类: HbuilderX

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10 21H1

HBuilderX版本号: 3.4.14

示例代码:
<!-- test.vue -->  
<template>    

</template>    

<script>    
    import {getUserList,setUserInfo} from "@/api/api.js"  

    export default {    
        data() {    
            return {    

            }    
        }  
    }    
</script> 

操作步骤:

如上述代码,test.vue是一个vue项目中的文件,imort引入了api.js中的两个方法getUserList和setUserInfo,api.js是通过@符号引入的,此时alt+鼠标左键点击getUserList或setUserInfo方法并不能跳转到api.js中对应的位置,alt+鼠标左键点击@/api/api.js也不会跳转到api.js这个文件

预期结果:
  1. alt+鼠标左键点击getUserList或setUserInfo会打开并跳转到api.js文件中对应的function的位置
  2. alt+鼠标左键点击@/api/api.js会打开并跳转到api.js这个文件

实际结果:
  1. alt+鼠标左键点击getUserList或setUserInfo没有反应,还是停留在当前的文件
  2. alt+鼠标左键点击@/api/api.js没有反应,还是停留在当前的文件

bug描述:

vue项目(不是uni-app项目)中通过@开头引入的文件和方法无法转到定义,alt+鼠标左键点击无法跳转到对应的文件和方法,而通过普通相对路径引入的就可以

2022-06-09 09:56 负责人:无 分享
已邀请:
愿随风丶飘雪

愿随风丶飘雪 - 勿在浮沙筑高台

确实无法跳转 我看更新日志中写了已经修复 但是实际还是不行

  • 修复 语言服务 uni-app项目,import x from ‘@/‘,@/开头的路径,某些情况下,转到定义失败的Bug
  • wyyx50 (作者)

    我又试了下,在uni-app的项目中可以,但是在普通的vue项目中就不行

    2022-06-09 10:08

  • 愿随风丶飘雪

    回复 wyyx50: 我uniapp的项目也不行

    2022-06-09 10:17

  • 呆狗的一生

    回复 wyyx50: 我认为没有问题。在uniapp项目里,能解析@/是因为uniapp帮我们做了路径别名映射。在webpack项目里的话是可以自己配置路径别名的。在普通vue项目里你想让它跳到哪里?

    2022-06-09 10:19

  • wyyx50 (作者)

    回复 呆狗的一生: webpack中默认@符号代表src文件夹,路径别名是可以修改,但是大多数情况下我们很少去修改,我觉得hbuilder完全可以做个判断,遇到@符号默认去找项目下的src文件夹,如果存在同名的引入文件,就跳转过去,否则就不处理。毕竟因为小概率的情况就牺牲掉大多数情况下的体验,有点得不偿失

    2022-06-09 10:49

DCloud_HB_WDL

DCloud_HB_WDL

目前只有uni-app项目,处理了import x from '@/', vue-cli项目未处理。 后期优化。

  • 愿随风丶飘雪

    老师 我的uniapp项目也不能跳转

    https://ask.dcloud.net.cn/question/146709

    2022-06-09 11:49

dr3am

dr3am

已解决:在前端项目根目录下新建jsconfig.json文件,内容如下

{  
    "compilerOptions": {  
        "paths": {  
            "@/*": ["src/*"]  
        }  
    }  
}

如果还不行,可能需要等一会儿,等hbuilder X建立索引,或者重启编辑器

要回复问题请先登录注册