簡體   English   中英

如何從TypeScript文件生成類型定義文件?

[英]How to generate type definition file from TypeScript files?

我在TypeScript中制作了一些類和模塊。 其他TypeScript應用程序可以直接使用TS文件,而無需類型定義。 但是,要發布到npm,我想我需要同時發布JS文件和類型定義文件。 我認為手工制作d.ts文件可能很浪費,那么如何從TypeScript文件生成類型定義文件呢?

簡短答案

在您的tsconfig中添加"declaration": true ,以使* .d.ts文件與* .js文件一起生成

長答案

要將* .js和* .d.ts文件發布到npm而不發布到github(通常只希望在源代碼管理中保留源代碼),您需要做一些事情:

  1. 在tsconfig中添加"declaration": true
  2. "outDir": "dist"到tsconfig
  3. 將dist添加到.gitignore
  4. 像.gitignore一樣添加.npmignore,但是沒有dist
  5. 在package.json中添加"main": "dist/index.js" (注意“ js”后綴和dist目錄)
  6. 在package.json中添加"types": "dist/index.d.ts" (注意,這次和dist目錄的后綴為“ ts”)

(當然,您的文件名和目錄可能會有所不同,以上假設您的分發目錄是dist而您的主要入口點是index.ts

這無需配置構建腳本,僅是發布所需內容的最低限度,因此其他Node模塊和程序可能需要使用JavaScript和TypeScript的模塊,而無需將生成的文件置於源代碼控制之下。

有關更多詳細信息,請參見:

這是我在准備有關Deno( 幻燈片視頻 )的演講時寫的答案,試圖描述將用TypeScript編寫的Node模塊發布到npm的整個過程,這正是您在這里所做的,所以也許您會發現更多有用的信息不僅涉及生成.d.ts文件,還涉及其他相關內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM