vue3+vite+element-plus封装npm插件遇到的问题,求大神搭救

测试npm插件时,抛出以下警告:

组件可以正常显示,但功能异常:

  1. hover 触发事件,class is-hover没有如期显示;
  2. focus 触发事件,class is-focus没有如期显示;
  3. 当在输入框输入内容时,class is-focus才显示;

组件代码:

js 复制代码
<template>
    <div class="b-textarea" 
        :class="[{ 'is-focus': isfocus }, { 'is-hover': ishover }]" 
        @mousemove="ishover=true"
        @mouseleave="ishover=false">
        <el-input
            v-bind="$attrs"
            type="textarea"
            @input="handleInput"
            @focus="isfocus=true"
            @blur="isfocus=false" />
    </div>
</template>
<script setup>
import { ElInput } from 'element-plus'
import { ref, defineOptions} from 'vue'

defineOptions({
    name: 'BTextarea',
    inheritAttrs: false
})


const handleInput  = (val) => {
    console.log('input', val)
}

const isfocus = ref(false)
const ishover = ref(false)
</script>
<style lang="scss">
.b-textarea{
    background-color: red;
    padding: 10px;
}

</style>

构建配置:

js 复制代码
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path' 

// https://vite.dev/config/
export default defineConfig({
    build: {
        lib: {
            entry: 'src/index.js',
            name: 'vv-app',
            fileName: (format) => `vv-app.${format}.js`
        }
    },
    rollupOptions: {
      // 确保外部化处理那些你不想打包进库的依赖
      external: ['vue', 'element-plus'],
      output: {
        globals: {
          vue: 'Vue',
        },
      },
      output: {
        // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
        globals: {
          vue: 'Vue',
          'element-plus': 'ElementPlus'
        }
      }
    },
    plugins: [
      vue()
    ],
    resolve: {
        alias: {
          '@': path.resolve(__dirname, 'src')
        }
    },
})
相关推荐
WX-bisheyuange1 小时前
基于Spring Boot的社团管理系统的设计与实现
前端·javascript·vue.js·毕业设计
橙某人1 小时前
LogicFlow 插件魔改实录:手把手教你重写动态分组(DynamicGroup)🛠️
前端·javascript·vue.js
Irene19912 小时前
Vue 3 中编写单文件组件(SFC)的编译时语法糖:<script setup>
vue.js
qx092 小时前
html中使用vue3+elementplus
javascript·vue.js·html
科技D人生2 小时前
Vue.js 学习总结(19)—— Vue3 按钮防重复点击三种方案总结
前端·vue.js·uniapp·vue3 防重复提交·uniapp 防重复提交·前端防抖
麦麦大数据2 小时前
F064 vue+flask知识图谱在线学习系统
vue.js·flask·知识图谱·在线学习·学习系统·ai学伴·ai助学
登山人在路上3 小时前
Vuex构建可维护的 Vue.js 状态管理
vue.js
登山人在路上3 小时前
Pinia :下一代 Vue 状态管理
vue.js
闲蛋小超人笑嘻嘻4 小时前
非父子通信: provide和inject
前端·javascript·vue.js
AllinLin4 小时前
JS中的call apply bind全面解析
前端·javascript·vue.js