什么是声明文件
声明文件是说以 .d.ts结尾的文件
声明文件写到什么位置
虽然说写到哪都会被ts编译,但是规范的话建议写在项目的根目录,自己建一个文件夹来写,建议types
如何查看别人的声明文件
可以使用 npm i @types/xxxx包(前提是人家有)
,然后去node_modules下的@types下的xxxx里面,一般以index.d.ts为入口文件
声明文件的依赖
在index.d.ts里面的,如果想声明一些依赖,可以是包 或者 路径 可以用reference,
*
注意!这个/// 不是注释,
/// <reference path="..." />
是一个三斜线指令,仅可放在包含它的文件的最顶端 ,三斜线指令也是 ts 在早期版本中为了描述模块之间的依赖关系而创造的语法
声明对路径的依赖 ,也是意义上声明对另一个文件的依赖
/// <reference path="..." />
声明对某个包的依赖,也是意义上 声明对另一个库的依赖
/// <reference types="..." />
对路径的依赖只可以在声明文件中使用,对某个包的依赖可以在.ts文件里使用,用法一样.
如何自动生成声明文件?
在 tsconfig.json 里面进行配置:
tsconfig.json的例子:
{
"compilerOptions": {
"target": "ES2017",
"module": "ESNext",
"lib": [
"esnext",
"dom"
],
"allowJs": true,
"declaration": true,
"outDir": "dist",
"strict": true,
"noUnusedLocals": false,
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"downlevelIteration": true
},
"include": [
"public",
"src",
"global.d.ts"
]
}
其中关于声明文件的有四个(可以按需声明):
- “declaration” 为每个 TS 文件生成 xx.d.ts 和 x.js 文件。
- declarationDir 设置生成 .d.ts 文件的目录
- declarationMap 对每个 .d.ts 文件,都生成对应的 .d.ts.map(sourcemap)文件
- emitDeclarationOnly 仅生成 .d.ts 文件,不生成 .js 文件