Vue3使用vite-plugin-vue-setup-extend 不生效问题

本文介绍了在使用Vue3.2的setup语法糖后如何优雅地定义组件name。当vite默认的文件命名不满足自定义需求时,提供了两种解决方案:一是通过在script标签中同时包含setup和非setup语法;二是使用vite-plugin-vue-setup-extend插件。特别地,对于插件vite-plugin-vue-setup-extend的早期版本,若script标签为空,则name属性可能无效,可以通过添加注释避免此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用 Vue3.2 的 setup 语法糖后,无法优雅的定义组件的 name 值,虽然 vite 会根据组件的文件名自动生成组件名,但是需要自定义的组件名时,就很不方便。

解决方法

方案1:写两个 script 标签

最简单的方法就是写两个script 标签,一个用 setup 语法,一个不用 setup 语法,代码如下:

<script>
    export default {
        name: 'demo'
    }
</script>

<script setup>
    // do something...
</script>

这种方法简单,但确实不够优雅

方案2:使用 vite 插件 vite-plugin-vue-setup-extend
  1. 安装
    npm i vite-plugin-vue-setup-extend -D

  2. 配置 vite.config.ts

    import { defineConfig } from 'vite'
    import VueSetupExtend from 'vite-plugin-vue-setup-extend'
    export default defineConfig({
      plugins: [ VueSetupExtend() ]
    })
    
  3. 使用

    <script lang="ts" setup name="demo">
    
    </script>
    

问题:

在使用 vite-plugin-vue-setup-extend 0.4.0 及以前版本时,会有个问题:如果 script 标签内没有内容,即使给 script 标签添加上 name 属性,其在 vue-devtools 内也不会生效。

解决办法: 不要让script标签内空着,例如:加行注释。

	<script lang="ts" setup name="demo">
	// test
	</script>
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值