vue3在使用setup优雅定义name值
解决方法一
个人觉得这种方法很
Low
html
1<script> 2 export default { 3 name:'Logo' 4 } 5</script> 6<script setup lang="ts"> 7 // code 8</script>
解决方法二
使用 vite 插件
vite-plugin-vue-setup-extend
很优雅
- 安装插件
bash
1npm i vite-plugin-vue-setup-extend -D
- 配置
vite.config.js
文件
js
1import { defineConfig } from 'vite' 2import VueSetupExtend from 'vite-plugin-vue-setup-extend' 3export default defineConfig({ 4 plugins: [ VueSetupExtend() ] 5})
- template 中使用
html
1<script lang="ts" setup name="demo"> 2// code 3</script> 4
解决方法三
使用插件
unplugin-vue-define-options
- 安装插件
bash
1npm i unplugin-vue-define-options -D
- 配置
js
1//vite.config.ts 2import { defineConfig } from 'vite'; 3import vue from '@vitejs/plugin-vue'; 4import DefineOptions from 'unplugin-vue-define-options/vite'; 5 6export default defineConfig({ 7 plugins: [vue(), DefineOptions()], 8}); 9 10//vue.config.js 11configureWebpack: { 12 plugins: [ 13 require('unplugin-vue-define-options/webpack')() 14 ] 15 }
- 需要ts类型的可在tsconfig中进行如下配置(未使用ts的忽略此步骤)
json
1// tsconfig.json 2{ 3 "compilerOptions": { 4 // ... 5 "types": ["unplugin-vue-define-options" /* ... */] 6 } 7} 8
- template 中使用
html
1<script lang="ts" setup > 2 defineOptions({ 3 name: 'AppPagination' 4 }) 5</script>
阅读量:3181发布日期:2022-09-20 10:45:31
博客描述
在使用 Vue3.2 的 setup 语法糖后,无法优雅的定义组件的 name 值,虽然 vite 会根据组件的文件名自动生成组件名,但是需要自定义的组件名时,就很不方便。