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