站長資訊網
        最全最豐富的資訊網站

        實戰:vscode中開發一個支持vue文件跳轉到定義的插件

        實戰:vscode中開發一個支持vue文件跳轉到定義的插件

        前端(vue)入門到精通課程:進入學習
        Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用

        vscode自身是支持vue文件組件跳轉到定義的,但是支持的力度是非常弱的。我們在vue-cli的配置的下,可以寫很多靈活的用法,這樣可以提升我們的生產效率。但是正是這些靈活的寫法,導致了vscode自身提供的功能無法支持跳轉到文件定義。為了兼容這些靈活的寫法,提高工作效率,所以寫了一個vscode支持vue文件跳轉到定義的插件。【推薦學習:《vscode教程》】

        插件

        vscode支持vue文件跳轉到定義的插件(vue jumper)已正式發布到vscode插件市場,可以到vscode插件市場直接下載體驗。

        實戰:vscode中開發一個支持vue文件跳轉到定義的插件

        功能

        該插件支持vue-cli提供給我們很多組件引用寫法的跳轉支持。

        1、省略寫法跳轉支持

        我們在引用組件的時候,如果組件的名稱是index.vue或者index.js時,我們引入時可以省略index.vue或者index.js。如果我們使用了省略寫法,vscode自身是無法支持跳轉的,所以該插件需要支持省略寫法跳轉。

        import MycoMponent from '../components/MyComponent' // '../components/MyComponent/index.vue'
        登錄后復制

        2、alis別名路徑跳轉支持

        在vue-cli(webpack)的配置下,我們可以配置alis別名,這樣我們可以提升生產效率,但是vscode本身是不支持的,所以該插件需要支持alis別名路徑跳轉。

        import MycoMponent from '@/components/MyComponent'
        登錄后復制

        3、components注冊別名跳轉支持

        vscode本身是支持components注冊別名跳轉的(如果引入時有省略寫法和alis別名路徑也是不支持的),所以該插件也需要支持components注冊別名跳轉。

        <script> import MycoMponent from '@/components/MyComponent' export default {     components: {         MycoMponentReName: MycoMponent     } } </script>
        登錄后復制

        4、mixins中引入的組件跳轉支持

        在實際開發中,我們可以有很多復用的功能抽離到了mixins中,其中包含了組件的引入和注冊,這個vscode本身是不支持跳轉的,所以該插件支持mixins引入的情況。

        <template>     <MyComponent /> </template> <script> import myMixins from '@/mixins/myMixins' export default {     mixins: [myMixins] } </script>
        登錄后復制

        // myMixins.js import MycoMponent from '@/components/MyComponent' export default {     components: {         MycoMponent     } }
        登錄后復制

        5、全局組件引入跳轉支持

        在全局中注冊的組件,vscode本身是不支持這種情況的跳轉的。由于全局組件引入的情況比較復雜,該插件使用了模糊查找的方式來查找組件定義的地方,做到了全局組件引入的跳轉支持。

        <template>     <MyComponent /> </template> <script>
        登錄后復制

        // main.js import vue from 'vue' import MycoMponent from './components/MyComponent' vue.use(MycoMponent)
        登錄后復制

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 日韩麻豆国产精品欧美| 9re热国产这里只有精品| 久久精品www| 亚洲国产另类久久久精品| 国产精品一区二区三区免费| 国产亚洲欧美精品久久久| 亚洲av无码国产精品色在线看不卡 | 永久无码精品三区在线4| 国产成人亚洲精品91专区手机 | 日本一区二区三区精品国产| 欧美激情精品久久久久| 国产精品无码无需播放器| 亚洲人成精品久久久久| 日本欧美国产精品第一页久久| 国产亚洲曝欧美不卡精品| 91精品国产91热久久久久福利 | 亚洲国产av无码精品| 国产精品免费久久久久影院| 久久精品国产亚洲沈樵| 国产精品成人va在线观看| 国产精品美女久久久m| 久久综合精品国产二区无码| 少妇精品无码一区二区三区| 亚洲日韩精品一区二区三区无码| 午夜精品久久久久久| 日韩精品视频在线观看免费| 久久精品国产色蜜蜜麻豆| 国产色婷婷精品综合在线| 国产精品区AV一区二区| 国产精品国产三级在线专区| 99久久免费只有精品国产| 成人国产精品日本在线观看| 亚洲愉拍自拍欧美精品| 99久久精品九九亚洲精品| 92国产精品午夜福利免费| 911亚洲精品国产自产| 亚洲国产精品lv| 国产乱子伦精品无码专区| 精品久久久久久久久久久久久久久| 久久精品中文字幕第23页| 欧美精品黑人粗大欧|