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.
现在我的问题; 如何正确指定和/或生成类型?据我所知,有两种选择:
"typings": "src/main.ts"在 my 中设置package.json并使用 .ts 文件本身作为类型引用。似乎有效,但我还没有看到任何使用这种方法的例子,所以我认为这是不好的做法?
设置"declaration": true并"outDir": "types"在我的.tsconfig.json. 随着一些调整的vue.config.js分型似乎是正确生成,我将与指定"typings": "types/main.d.ts"的文件的package.json。这是首选方法吗?
我会使用第二种方法,或者更好,对于我的包,我使用第二种方法。
对于rotating-file-stream,它不是一个Vue库,而是一个TypeScript包,我正在使用上述方法,它让你只分发(在npm包中) 和.js使.d.ts包有点打火机。原始.ts文件始终可以在 github 上获取以供参考/文档。