首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vscode intellisense导入在jest ts测试中不工作

vscode intellisense导入在jest ts测试中不工作
EN

Stack Overflow用户
提问于 2018-03-04 10:34:36
回答 2查看 3.4K关注 0票数 7

在我的整个项目中,VSCode将自动提示导入一个类型(出现的黄色灯泡)。除了在JEST测试文件中(在我的测试目录中)之外,我没有灯泡。我可以手动编写导入,此时将检测到同一文件中的任何进一步导入。

有人知道怎么解决这个问题吗?

你好,蒂莉

EN

回答 2

Stack Overflow用户

发布于 2018-05-03 05:21:17

我也经历过同样的问题,马特·比尔纳的回答让我找到了正确的解决方案。

问题

我有这样的项目布局:

代码语言:javascript
复制
./lib/
./src/
./tests/
./tsconfig.json

在我的tsconfig中,我有:

代码语言:javascript
复制
{
  "compilerOptions": {
    ...
    "outDir": "./lib",
    "typeRoots": ["./node_modules/@types"]
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"]
}

是测试被排除在外,即"**/*.spec.ts",它阻止vscode在测试中建议导入。

显然,当移除它时,当生成运行时,测试将在我的./lib输出dir中结束。

我找到了一个更好的办法来解决这两个问题。

解决方案

我将tsconfig.json拆分如下:

代码语言:javascript
复制
./lib/
./src/
./src/tsconfig.json
./tests/
./tsconfig.base.json
./tsconfig.json
./package.json

./tsconfig.base.json文件:

代码语言:javascript
复制
{
  "compilerOptions": {
    ...
    "outDir": "./lib",
    "typeRoots": ["./node_modules/@types"]
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"]
}

./tsconfig.json文件:

代码语言:javascript
复制
{
  "extends": "./tsconfig.base.json"
}

./src/tsconfig.json文件:

代码语言:javascript
复制
{
  "extends": "../tsconfig.base.json",
  "compilerOptions": {
    "outDir": "../lib"
  },
  "exclude": ["node_modules", "lib", "**/*.spec.ts"]
}

构建脚本进行了修改,以便使用./src/tsconfig.json文件,该文件要求添加-p ./src/部件,如下例所示。

./package.json文件:

代码语言:javascript
复制
{
  ...
  "scripts": {
      ...
      "build": "tsc -p ./src/"
      ...
    }
  ...
}

我希望这对任何有同样问题的人都有帮助。

票数 7
EN

Stack Overflow用户

发布于 2019-12-30 13:59:39

对于我的情况,在tsconfig.json中添加以下内容解决了这个问题。

代码语言:javascript
复制
{
  ...
  "include": [
    "src/**/*"
  ]
}

奇怪的是,从项目一开始,我的配置中就没有这一点,导入intellisense突然停止工作,不得不将上面的选项添加到配置文件中。我希望这能帮到你。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49094427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档