当前位置: 首页 > news >正文

vue3.3+通过defineOptions来定义组件名字

在vue3中,因为使用了setup语法,在script标签中不能直接定义组件的名字。下面提供两种方式来设置组件的名字。

方式一 使用defineOptions

如果是vue3.3+,可以直接在script中使用defineOptions来定义组件名字。

<script setup>
defineOptions({name: '组件名字'
})
</script>

方式二 使用vite-plugin-vue-setup-extend插件

vite-plugin-vue-setup-extend

要求:

  • node version: >=12.0.0
  • vite version: >=2.0.0

安装插件:

yarn add vite-plugin-vue-setup-extend -D
or
npm i vite-plugin-vue-setup-extend -D

vite.config.ts里面配置插件, 导入插件并export

import { defineConfig, Plugin } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueSetupExtend from 'vite-plugin-vue-setup-extend'export default defineConfig({plugins: [vue(), vueSetupExtend()],
})

配置好后可以在script里面写name属性来定义组件的名字。

<template><div>hello world {{ a }}</div>
</template><script lang="ts" setup name="App">const a = 1
</script>

说明:
该vite-plugin-vue-setup-extend插件作者许久未更新了,在高版本的node或vue中会有问题,issue始终未处理,所以最好选方式一。

另外我在node v22.14.0安装该插件时有报错,下面贴出来日志,因为我使用的是vue 3.5.25,所以并没有使用该插件。具体解决方案应该是降级node版本。

80 silly placeDep ROOT @vue/compiler-sfc@3.5.26 OK for: vite-plugin-vue-setup-extend@0.4.0 want: ^3.2.29
81 verbose stack TypeError: Cannot read properties of null (reading 'matches')
81 verbose stack     at Link.matches (E:\nvm\v22.14.0\node_modules\npm\node_modules\@npmcli\arborist\lib\node.js:1117:41)
81 verbose stack     at Link.canDedupe (E:\nvm\v22.14.0\node_modules\npm\node_modules\@npmcli\arborist\lib\node.js:1071:15)
81 verbose stack     at PlaceDep.pruneDedupable (E:\nvm\v22.14.0\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:426:14)
81 verbose stack     at new PlaceDep (E:\nvm\v22.14.0\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:278:14)
81 verbose stack     at #buildDepStep (E:\nvm\v22.14.0\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:920:18)
81 verbose stack     at async Arborist.buildIdealTree (E:\nvm\v22.14.0\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:181:7)
81 verbose stack     at async Promise.all (index 1)
81 verbose stack     at async Arborist.reify (E:\nvm\v22.14.0\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:131:5)
81 verbose stack     at async Install.exec (E:\nvm\v22.14.0\node_modules\npm\lib\commands\install.js:150:5)
81 verbose stack     at async Npm.exec (E:\nvm\v22.14.0\node_modules\npm\lib\npm.js:207:9)
82 error Cannot read properties of null (reading 'matches')
83 silly unfinished npm timer reify 1766939710463
84 silly unfinished npm timer reify:loadTrees 1766939710467
85 silly unfinished npm timer idealTree:buildDeps 1766939711045
86 silly unfinished npm timer idealTree:node_modules/vite-plugin-vue-setup-extend 1766939711819
87 verbose cwd E:\code\IdeaProjects\VueProjects\hello
88 verbose os Windows_NT 10.0.26200
89 verbose node v22.14.0
90 verbose npm  v10.9.2
91 verbose exit 1
92 verbose code 1
93 error A complete log of this run can be found in: C:\Users\jw\AppData\Local\npm-cache\_logs\2025-12-28T16_35_09_918Z-debug-0.log
http://www.jsqmd.com/news/156536/

相关文章:

  • C作业 四
  • OceanBase 个人排错记录汇总
  • 利用PyTorch-CUDA镜像构建持续集成CI流水线
  • 卷积神经网络权重初始化:PyTorch nn.init模块详解
  • 针对工业嵌入式设备的vivado2018.3安装步骤图解说明
  • PyTorch张量操作索引高级用法提升数据处理效率
  • Anaconda克隆环境快速复制成功配置的PyTorch实例
  • 通过自然语言生成模型批量产出PyTorch主题博文标题
  • Conda打包自定义环境便于迁移PyTorch开发栈
  • 卷积神经网络反向传播过程PyTorch自动求导机制解析
  • WSL2图形界面支持运行PyTorch可视化训练进度条
  • 快速理解minidump是什么文件老是蓝屏的生成路径设置
  • Keil5添加C语言文件的超详细版配置步骤
  • Markdown绘制流程图说明PyTorch模型训练pipeline
  • Markdown嵌入动态图表展示PyTorch训练曲线方法
  • PCB布线规则设计中热管理与铜箔布局策略
  • Anaconda环境激活失败问题诊断与修复指南
  • 小白指南:读懂二极管伏安特性曲线的三个关键区域
  • Azure PIM 审批流程的自动化监控与日志分析
  • Jupyter Notebook内核崩溃问题排查:PyTorch内存泄漏检测
  • AI Agent 开发实战:MCP + A2A + LangGraph 全流程解析【AI Agent 开发,未来三年必学!】
  • AI应用架构师案例分析:拆解美团AI推荐系统的架构设计
  • OTG模式下外设供电方案设计:项目应用中的电源路径管理
  • PyTorch DataLoader多进程加载数据性能调优
  • Markdown引用参考文献标注PyTorch学术论文出处
  • 从零实现gerber文件转成pcb文件的逆向项目示例
  • 快速理解CANFD与CAN的驱动电路区别
  • PyTorch自定义Dataset类实现大规模图像读取优化
  • 新手教程:如何在VM中部署Yocto开发平台
  • HuggingFace Tokenizer文本编码机制深入剖析