我的玩具项目是一个单仓库,由目录#include <string>
下的几个软件包组成。 packages
的组织形式为packages
/ TYPE
,其中PACKAGE_NAME
表示程序包类型;例如TYPE
,libs
。
项目的根目录中有一个主servers
文件:
tsconfig.json
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs"
"jsx": "react",
"noImplicitAny": false,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"baseUrl": "./packages",
"rootDirs": [
"./packages/libs",
"./packages/etc"
],
"typeRoots": [
"./node_modules/@types",
"./types"
],
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"skipLibCheck": true,
},
"exclude": [
"node_modules",
"types",
"packages/libs/libjest",
"packages/*/*/run/*.ts",
"packages/*/*/e2e",
"**/*.test.ts"
]
}
中的每个软件包都来自主配置文件:
packages/TYPE/PACKAGE_NAME
我创建了一个{
"extends": "../../../tsconfig.json",
}
文件并将其放置在global.d.ts
中。它包含:
packages/
每当我从其中一个软件包中运行declare module "*.svg" {
export default any;
}
declare module "*.png" {
export default any;
}
时,都会出现如下所示的错误:
../../../node_modules/.bin/tsc --noEmit
为什么编译器无法继续使用../../libs/libicons/src/index.tsx:4:27 - error TS2307: Cannot find module '../icons/Wiktionary.svg' or its corresponding type declarations.
4 import SvgWiktionary from "../icons/Wiktionary.svg";
中的"*.svg"
声明并出错?
将非常感谢任何能帮助我解决此问题的指针!