写一个ts 包如何打包出.d.ts

通知 ts

Copy
{
"compilerOptions": {
"declaration": true, // 生成 .d.ts 文件
"declarationDir": "dist/types", // 输出目录
"outDir": "dist", // 输出目录
}
}

调整 vite.config.ts

Copy
// 库模式打包src/main.ts
import { defineConfig } from 'vite'
import path from 'path'
import dts from 'vite-plugin-dts';

export default defineConfig({
plugins: [
dts({
outDir: 'dist/types', // 声明文件的输出目录
include: ['src/**/*.ts'], // 包含的文件
}),
],
build: {
lib: {
entry: path.resolve(__dirname, 'src/main.ts'),
name: 'main',
fileName: (format) => `main.${format}.js`,
},
},
})

添加 package.json 可以在使用时被读取到

Copy
{
"main": "dist/main.umd.js",
"module": "dist/main.es.js",
"types": "dist/types/main.d.ts",
}