defineoptions 是 vue 3.3+ 官方推荐的组件选项声明方式,支持在 中直接配置 name、inheritattrs、emits 等选项,无需额外 script 块或第三方插件,类型安全且 ide 支持完善。

在 Vue 3.3+ 中,defineOptions 是官方推荐、原生支持的组件选项定义方式,用来替代旧写法中需要额外 <script></script> 块或第三方插件的做法。它简洁、可靠,且不依赖外部工具。
直接在 setup 脚本中调用 defineOptions
只需在 <script setup></script> 内部导入并调用该宏,传入一个配置对象即可:
- 确保使用 Vue 3.3 或更高版本(如 3.4、3.5)
- 不需要安装任何插件,也不需修改 vite 配置
- name 字符串必须是合法的 PascalCase 或 kebab-case,避免空格和特殊符号
示例:
<script setup lang="ts">
import { defineOptions } from 'vue'
defineOptions({
name: 'UserProfileCard'
})
</script>
name 的实际用途不能忽略
设置组件名不只是为了“看起来整齐”,它直接影响运行时行为:

