在根 index.d.ts 文件中包含 types 包。您可以使用任何未与其 sans @type/ 等效依赖项配对的 @types 包来执行此操作
您可以将这种方法用于分析和 sdks 之类的事情
它将defs编译成输出,使其在生产中可用
您还必须在 tsconfig.json 中设置 "declaration": true`
{
"compilerOptions": {
"sourceMap": "true",
"declaration": true,
"...": "..."
},
"include": ["index.d.ts", "src/**/*", "..."]
}
这是我当前项目的根 index.d.ts
/// <reference types="facebook-js-sdk" />
/// <reference types="facebook-pixel" />
/// <reference types="google.maps" />
/// <reference types="google-libphonenumber" />
/// <reference types="gtag.js" />
/// <reference types="glob" />
declare module "facebook-js-sdk";
declare module "facebook-pixel";
declare module "google.maps";
declare module "google-libphonenumber";
declare module "gtag.js";
declare module "glob";
interface Window {
dataLayer?: object[];
}
在额外的 tsconfig 文件 (tsconfig.build.json) 中,扩展您的主 tscnfig.json,然后调用 exclude 的路径
{
"extends": "./tsconfig.json",
"exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
}
注意:
一旦您声明了包,您就不再需要导入该包提供的类型。它们被注入并在全球范围内供消费