我正在创建一个虚拟滚轴Vue 3 NPM库.
Full source code
问题
似乎我没有正确导出或生成TS类型.我指定了类型路径,比如package.json等,但它仍然没有生成任何TS类型.
当我在另一个项目中导入库时,如下所示:
import {VirtualScroller, VirtualScrollerRow} from 'sigma-scrollkit';
import type {VirtualEntry} from 'sigma-scrollkit';
我得到这个错误:
Cannot find module 'sigma-scrollkit' or its corresponding type declarations
库代码
Package.json
"files": [
"dist",
"types/index.d.ts"
],
"type": "module",
"types": "./dist/types/index.d.ts",
"typings": "./dist/types/index.d.ts",
Tsconfig.json
{
"compilerOptions": {
"outDir": "dist/types",
"baseUrl": "./",
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"isolatedModules": true,
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom", "dom.iterable", "scripthost"],
"skipLibCheck": true
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}
螺丝配置
export default defineConfig({
build: {
lib: {
entry: path.resolve(__dirname, 'src/index.ts'),
name: 'sigma-scrollkit',
fileName: 'sigma-scrollkit'
},
outDir: 'dist',
emptyOutDir: true,
minify: true,
rollupOptions: {
external: ['vue'],
output: {
// Global vars for UMD build
globals: {
vue: 'Vue'
}
}
}
},
...
})