在我的整个项目中,VSCode将自动提示导入一个类型(出现的黄色灯泡)。除了在JEST测试文件中(在我的测试目录中)之外,我没有灯泡。我可以手动编写导入,此时将检测到同一文件中的任何进一步导入。
有人知道怎么解决这个问题吗?
你好,蒂莉
发布于 2018-05-03 05:21:17
我也经历过同样的问题,马特·比尔纳的回答让我找到了正确的解决方案。
问题
我有这样的项目布局:
./lib/
./src/
./tests/
./tsconfig.json在我的tsconfig中,我有:
{
"compilerOptions": {
...
"outDir": "./lib",
"typeRoots": ["./node_modules/@types"]
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}是测试被排除在外,即"**/*.spec.ts",它阻止vscode在测试中建议导入。
显然,当移除它时,当生成运行时,测试将在我的./lib输出dir中结束。
我找到了一个更好的办法来解决这两个问题。
解决方案
我将tsconfig.json拆分如下:
./lib/
./src/
./src/tsconfig.json
./tests/
./tsconfig.base.json
./tsconfig.json
./package.json./tsconfig.base.json文件:
{
"compilerOptions": {
...
"outDir": "./lib",
"typeRoots": ["./node_modules/@types"]
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}./tsconfig.json文件:
{
"extends": "./tsconfig.base.json"
}./src/tsconfig.json文件:
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "../lib"
},
"exclude": ["node_modules", "lib", "**/*.spec.ts"]
}构建脚本进行了修改,以便使用./src/tsconfig.json文件,该文件要求添加-p ./src/部件,如下例所示。
./package.json文件:
{
...
"scripts": {
...
"build": "tsc -p ./src/"
...
}
...
}我希望这对任何有同样问题的人都有帮助。
发布于 2019-12-30 13:59:39
对于我的情况,在tsconfig.json中添加以下内容解决了这个问题。
{
...
"include": [
"src/**/*"
]
}奇怪的是,从项目一开始,我的配置中就没有这一点,导入intellisense突然停止工作,不得不将上面的选项添加到配置文件中。我希望这能帮到你。
https://stackoverflow.com/questions/49094427
复制相似问题