https://www.tslang.cn/docs/handbook/declaration-files/publishing.htmlhtml
{ "name": "awesome", "author": "Vandelay Industries", "version": "1.0.0", "main": "./lib/main.js", "types": "./lib/main.d.ts" }
注意:"typings"與"types"具備相同的意義,也可使用它。
注意:若是主聲明文件名是index.d.ts而且位置在包的根目錄裏(與index.js並列),你就不須要使用"types"屬性指定了。typescript
{ "name": "browserify-typescript-extension", "author": "Vandelay Industries", "version": "1.0.0", "main": "./lib/main.js", "types": "./lib/main.d.ts", "dependencies": { "browserify": "latest", "@types/browserify": "latest", "typescript": "next" } }
這裏,咱們的包依賴於browserify和typescript包。 browserify沒有把它的聲明文件捆綁在它的npm包裏,因此咱們須要依賴於@types/browserify獲得它的聲明文件。 typescript,它把聲明文件放在了npm包裏,所以咱們不須要依賴額外的包。
咱們的包要從這兩個包裏得到聲明文件,所以browserify-typescript-extension的用戶也須要這些依賴。 正所以,咱們使用 "dependencies"而不是"devDependencies",不然用戶將須要手動安裝那些包。 若是咱們只是在寫一個命令行應用,而且咱們的包不會被當作一個庫使用的話,那麼就可使用 devDependencies。npm
不要在聲明文件裏使用/// <reference path="..." />
,應該使用/// <reference types="..." />
代替。json