我在Typescript中编写了一个NPM包,你可以在这里找到:https://github.com/DiceBear/avatars
包中包含自己的声明(使用选项" compilerOptions.declaration"自动生成)和第三方包的声明。
{
"compilerOptions": {
"outDir": "./lib",
"moduleResolution": "node",
"declaration": true,
"noImplicitAny": true,
"typeRoots": [
"node_modules/@types",
"typings"
]
},
"include": [
"./src/"
]
}
在" package.json"我有一个选项"类型"对于生成的声明的路径。
{
"name": "@dicebear/avatars",
"version": "2.0.0",
"main": "lib/index",
"types": "lib/index"
}
但是如果我在最终项目中安装软件包,那么Typescript会忽略" typings"下的第三方软件包的声明。
如何使用我自己的第三方软件包声明来处理生成的声明?
答案 0 :(得分:0)
您的主要项目是monorepo,建议您使用npm link。
对于每个包裹:
要比根package.json
文件中的文件更确保@dicebear/avatars
仅出现一次(不能同时出现在dependencies
和devDependecies
中)。
将dependencies
从文件更改为版本:"@dicebear/avatars": "4.2.0",
而非"@dicebear/avatars": "file:packages/avatars",
(对于所有依赖项< / em>)。
最后,在roor文件夹中,每个依赖项
(我的意思是npm link @dicebear/avatars
,npm link @dicebear/avatars-avataaars-sprites
,依此类推...)
再次发出npm install
,就足够了。
希望这会有所帮助。