我是JS / TS领域的新手,出于学习目的,我正在TypeScript中创建NPM软件包。在构建工件并将其推送到注册表之前,我使用tsc
命令将TS文件编译为JS文件。以下是我的tsconfig.json
:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"declaration": true,
"outDir": "./dist",
"strict": true
},
"include": ["src/"],
"exclude": [ "node_modules/", "tests/" ]
}
编译后,dist
文件夹与我的src
目录具有相同的目录结构,但是它具有所有js
文件和.d.ts
文件,而不是{{1} }文件。我的问题是如何包含ts
文件?
对此进行了搜索,我发现type definitions
文件中有一个package.json
字段,并为其指定了types
的路径,在我的情况下,该路径为{{1} }。但这不是唯一具有类型定义的文件。 index.d.ts
目录中许多目录中都有许多其他文件。
如何在最终工件中包含所有这些类型定义?我还尝试将dist/index.d.ts
分配给dist
中的dist/**/*.d.ts
字段,但是没有用。
我还想知道向TypeScript包添加类型的正确方法是什么。
答案 0 :(得分:0)
一种选择是再次在index.ts中export
所有有用的类型,以便最终将它们包括在index.d.ts
中。我相信AWS SDK
就是这样做的。
例如,在index.ts
中:
从'./other-file.ts'导出{MyType,MyService,MyOption};
因此您可以将其放在package.json
“类型”:“ dist / index.d.ts”