核心是 emitDeclarationOnly
, declarationDir
, declaration
也可以通过 tsc
命令 传入这些参数, 生成 d.ts文章来源地址https://www.toymoban.com/news/detail-626095.html
vite.config.ts
// 导入 ts
import ts from 'typescript';
import path from 'node:path';
let input = path.resolve(__dirname, "src/index.ts");
// 插件
plugins: [
{
name: "emit-dts",
buildEnd() {
const program = ts.createProgram([input], {
target: ts.ScriptTarget.ESNext,
module: ts.ModuleKind.ESNext,
moduleResolution: ts.ModuleResolutionKind.NodeJs,
// jsx实现 根据自己的需求改
jsx: ts.JsxEmit.Preserve,
jsxImportSource: "solid-js",
allowSyntheticDefaultImports: true,
esModuleInterop: true,
// js 源码输出的文件夹
outDir: `dist/source`,
// d.ts 输出的文件夹
declarationDir: `dist/types`,
declaration: true,
// true 只输出 dts 到 declarationDir,
// false 同时输出js源码到 outDir
emitDeclarationOnly: true,
allowJs: true,
});
program.emit();
},
},
// 其他插件 ↓
],
文章来源:https://www.toymoban.com/news/detail-626095.html
到了这里,关于vite 生成 TypeScript 的类型定义( d.ts )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!