Vue 库类型

Joh*_*han 6 npm typescript vue.js

我正在制作一个 Vue 库作为 NPM 包,旨在供其他项目使用。

入口点是main.ts,它公开了一个插件和一些我常用的功能。的简化示例main.ts

import Vue from 'vue'
import Button from '@/components/button.vue'

const myPlugin = {
  install (vue: typeof Vue): void {
    vue.component('the-button', Button)
  }
}

function someFunction(a: number, b: number) {
  return a + b
}

export { myPlugin, someFunction }
Run Code Online (Sandbox Code Playgroud)

我使用vue-cli-service build --target lib --name myLibrary src/main.ts.

现在我的问题; 如何正确指定和/或生成类型?据我所知,有两种选择:

  1. "typings": "src/main.ts"在 my 中设置package.json并使用 .ts 文件本身作为类型引用。似乎有效,但我还没有看到任何使用这种方法的例子,所以我认为这是不好的做法?

  2. 设置"declaration": true"outDir": "types"在我的.tsconfig.json. 随着一些调整vue.config.js分型似乎是正确生成,我将与指定"typings": "types/main.d.ts"的文件的package.json。这是首选方法吗?

Dan*_*cci 1

我会使用第二种方法,或者更好,对于我的包,我使用第二种方法。

对于rotating-file-stream,它不是一个Vue库,而是一个TypeScript包,我正在使用上述方法,它让你只分发(在npm包中) 和.js使.d.ts包有点打火机。原始.ts文件始终可以在 github 上获取以供参考/文档。