如何发布修改现有插件的vue js插件

How to publish a vue js plugin that modifies an existing plugin

我正在尝试创建一个插件,该插件利用来自另一个 Vuejs 插件 (Vuetify) 的组件。基本上,我有一些通用组件想与我们公司共享多个应用程序。

我认为这只是一个问题:

  1. 为共享组件创建 github 存储库
  2. 编写插件
  3. 通过npm install
  4. 引用消费应用中的repo

插件的要点如下:

// src/index.js <-- package.json/main is set to "src"
import MyComponent from "./MyComponent.vue";
import * as api from "./api";

export default function install(Vue) {
    Vue.component("myComponent", MyComponent );
    Vue.prototype.$myApi = api;
}

目前,我看到的行为是:

不好

如果我将相同的文件复制到应用程序中并更改我的导入,一切都会按预期进行。所以,我现在想知道我是否遗漏了有关通过外部模块共享代码的内容。

我已经尝试过这些替代方法来解决同样的问题:

我已经把这个问题搁置了一段时间,但对于任何想知道的人来说,问题在于使用单文件组件和 webpack 不编译外部模块中的组件。

我有两个选择:

  1. 不要使用单一文件组件。即:只需使用 .js 而不是 .vue。我见过像 Vuetify.js 这样的库采用这种方法
  2. 编译library模块中的.vue文件,并将其包含在source如./dist文件夹中。