最近写了一个库发布到了 npm
源码使用的 TypeScript 开发的,然后用了 vite 进行打包,现在我已经发布到 npm 上面了
但是在使用的时候引入包的时候会出现 ts 的错误,因为打包之后没有 dts 文件
不知道要怎么给打包到 npm 的包添加需要暴露的 dts 文件
这个是 npm 的包地址: https://www.npmjs.com/package/liteofd
下面是我在 demo 项目里面引入的报错
```TypeScript
import { LiteOfd, OfdDocument } from 'liteofd'
```
```JavaScript
Could not find a declaration file for module 'liteofd'. 'node_modules/liteofd/dist/liteofd.es.js' implicitly has an 'any' type.
  There are types at 'node_modules/liteofd/dist/index.d.ts', but this result could not be resolved when respecting package.json "exports". The 'liteofd' library may need to update its package.json or typings.
```
下面的图是打包发布到 npm 上面的结构
![结构 1]( https://i.imgur.com/9XHuvrs.png)
![结构 2]( https://i.imgur.com/cM44fnc.png)
我在网上也查询了,但是因为不是前端开发,所以一直没弄好如何给这个项目添加 dts
希望熟悉 TypeScript 的各位帮帮忙帮我看看我要怎么改项目添加 dts 文件让用户引用包不会报错
ps:dts-gen 我也安装并按照网上的使用还是不行,就报错说 module 的问题
举报· 72 次点击
登录 注册 站外分享
4 条回复  
zcf0508 小成 2024-10-22 16:29:18
vite 构建需要引入 vite-plugin-dts ,可以参考下这个

https://github.com/zcf0508/blocknote-vue/blob/main/vite.config.ts#L33
zbinlin 小成 2024-10-22 16:41:47
在 package.json 里加上 types 字段
sparkinglemon 小成 2024-10-22 16:52:52
```json
{
  ...
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "require": "./dist/index.cjs",
      "import": "./dist/index.js",
      "types": "./dist/index.d.ts"
    }
  },
  ...
}
```

根据你最后具体的打包结果修改
返回顶部