我正在尝试使用vue-class-component和vue-property-decorator在typescript中创建一个vuejs组件库,其中包含以下要求:

  • 库组件应该用类样式的打字稿编写 .

  • 库组件应作为es6模块导出,以允许项目中的树形图 .

对于库,我使用最新版本的@ vue / cli来构建项目 . 在该库项目中,组件工作正常 .

另一方面,应用程序使用webpack-setup,在这里我想使用vue组件 .

通常,当我想在es6中构建基于打字稿的库时,我使用tsc将ts文件转换为es6 js文件 . 但是遵循该方法,组件不知道模板 . 有没有办法将tsc与vue-template-compiler结合起来?

我找到了另一种方法来完成这项工作,但我对这种方法完全不满意:

我使用了 "vue-cli-service build --target lib --name vue-lib ./src/index.ts" 这样,vue-cli-service将创建一个umd-bundle和commonjs-bundle,如文档here中所述 . 在项目中,我可以使用上面带有 //@ts-ignore 语句的组件 . 所以我丢失了声明,组件不在es6语法中:/

为了更好地理解我的问题,我在github上创建了一个最小的例子,你可以在这里找到:

图书馆:https://github.com/Sh4bbY/vue-lib

申请:https://github.com/Sh4bbY/vue-project