我使用的是一个混合了类型脚本和Java脚本文件的项目,因为我们刚刚采用了类型脚本.这个项目过go 只有Java脚本文件,但通过使用jsconfig.json个文件,我仍然能够获得智能感知(例如.我可以在按住CTRL键的同时单击导入文件以直接转到导入的文件).

然而,自从采用了TypeScrip(并混合了多种文件)后,VS Code就不再为Java脚本文件提供智能感知功能了.它在TypeScrip中工作得很好,我知道这是一个事实,它是导致问题的文件扩展名,因为如果我将foo.js重命名为foo.tsx,智能感知就会重新开始工作.

我仍然有一个jsconfig.json文件,还有我的tsconfig.json文件,但显然这不足以使VS代码将智能感知恢复到JS文件.有谁能解释一下我是怎么做到的吗?

下面是我的tsconfig.json:

{
  "ts-node": {
    "require": ["tsconfig-paths/register"]
  },
  "compilerOptions": {
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "checkJs": true,
    "skipLibCheck": true,
    "strict": false,
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "incremental": true,
    "esModuleInterop": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "paths": {
      "app/*": ["./app/*"],
      "pages/*": ["./pages/*"],
      "src/*": ["./src/*"]
    },
    "plugins": [{ "name": "next" }],
    "strictNullChecks": true,
    "target": "es2015"
  },
  "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"],
  "exclude": ["node_modules"]
}

推荐答案

可以将JS文件的模式放在tsconfig的Includes/Files属性中.至于技术细节,我不确定这是否会导致类型脚本编译器将这些文件视为类型脚本文件,但我非常确定这并不是太重要.

https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html#moving-to-typescript-filesIs any JavaScript code a valid TypeScript code?(答案是肯定的).

我认为要让TypeScrip签入JS文件,JS文件需要通过tsconfig包含在项目中,或者由项目中包含的文件导入(参见https://www.typescriptlang.org/tsconfig#checkJs).

Typescript相关问答推荐

排序更改数组类型

如何使打包和拆包功能通用?

我应该使用什么类型的React表单onsubmit事件?

为什么我的Set-Cookie在我执行下一次请求后被擦除

Angular 错误NG0303在Angular 项目中使用app.Component.html中的NGFor

向NextAuth会话添加除名称、图像和ID之外的更多详细信息

无法从Chrome清除还原的初始状态数据

通过字符串索引访问对象';S的值时出现文字脚本错误

了解类型规则中的关键字

在函数中打字推断记录的关键字

为什么&;(交集)运算符会删除不相交的属性?

在排版修饰器中推断方法响应类型

保护函数调用,以便深度嵌套的对象具有必须与同级属性函数cargument的类型匹配的键

使用Type脚本更新对象属性

棱角分明-什么是...接口类型<;T>;扩展函数{new(...args:any[]):t;}...卑鄙?

打印脚本中正则函数和函数表达式的不同类型缩小行为

打字错误TS2305:模块常量没有导出的成员

可赋值给类型的类型,从不赋值

定义一个只允许来自另一个类型的特定字符串文字的类型的最佳方式

如何在没有空接口的情况下实现求和类型功能?