Typescript 使用插件给定的Vue构造函数对Vue组件类进行组件继承

Typescript 使用插件给定的Vue构造函数对Vue组件类进行组件继承,typescript,inheritance,vue.js,vuejs2,vue-class-components,Typescript,Inheritance,Vue.js,Vuejs2,Vue Class Components,我有一个插件,可以创建多个全球可用的组件,这些组件可以访问主应用程序中其他插件设置的实例属性。在大多数类型脚本示例中,人们通过import{Vue}从'Vue'或import{Vue}从'Vue property decorator'获得Vue构造函数,但是我想使用传递到插件的Vue构造函数。你会怎么做 这是我的尝试,可惜没有成功。我知道它在不使用类的情况下工作,但这不是重点 //app/main.ts 从“Vue”导入Vue; 从“Vuetify”导入Vuetify; 从“我的组件插件”导入{

我有一个插件,可以创建多个全球可用的组件,这些组件可以访问主应用程序中其他插件设置的实例属性。在大多数类型脚本示例中,人们通过
import{Vue}从'Vue'
import{Vue}从'Vue property decorator'
获得Vue构造函数,但是我想使用传递到插件的Vue构造函数。你会怎么做

这是我的尝试,可惜没有成功。我知道它在不使用类的情况下工作,但这不是重点

//app/main.ts
从“Vue”导入Vue;
从“Vuetify”导入Vuetify;
从“我的组件插件”导入{MyComponentsPlugin};
从“./App”导入应用程序;
Vue.use(Vuetify);
Vue.用法(mycomponent splugin);
新Vue({
渲染:h=>h(应用程序)
});
//我的组件插件/main.ts
从“vue”导入{VueConstructor};
导入MyComponent从“./components/MyComponent/Component.vue”导出;
导出异步函数MyComponentsPlugin(
vue:VueConstructor,
选项?:任何,
):承诺{
vue.component('MyComponent',MyComponentExport(vue));
}
//我的组件插件/components/Component.vue
托托

从“vue”导入{VueConstructor}; 从“vue属性装饰器”导入{Component,Prop}; 导出默认函数(Vue:VueConstructor){ @组成部分 类头扩展了Vue{ 私家车(){ console.log(这是$vuetify); } } 返回头; }
要解决此问题,您需要更新
vue.config.js
中的
webpack
配置。加:

const path=require('path');
module.exports={
配置网页包:配置=>{
if(process.env.NODE_env===‘development’){
config.resolve.modules.prepend(path.resolve(u dirname,'./节点_modules');
}
},
};
这样,您的项目依赖项将首先搜索到您的项目本地
node\u模块
,以查找它们的依赖项,因此它们将使用与主应用程序相同的
Vue


我们不需要为生产环境添加它,因为捆绑包将得到优化,并且
Vue
将防止代码重复。

Jonas您找到答案了吗?是的,我将发布一个答案。