Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用普通JavaScript时使用定义文件进行类型检查?_Javascript_Typescript_Commonjs - Fatal编程技术网

如何在使用普通JavaScript时使用定义文件进行类型检查?

如何在使用普通JavaScript时使用定义文件进行类型检查?,javascript,typescript,commonjs,Javascript,Typescript,Commonjs,当使用普通JavaScript和CommonJS模块时,我试图在VisualStudio代码中获取类型 我的全部尝试如下: 有关详情如下: tsconfig.json "baseUrl": "src/typings", "typeRoots": [ "src/typings" ], src/index.js const { tuple } = require('./test-typescript'); con

当使用普通JavaScript和CommonJS模块时,我试图在VisualStudio代码中获取类型

我的全部尝试如下:

有关详情如下:

tsconfig.json

"baseUrl": "src/typings",
"typeRoots": [
  "src/typings"
],
src/index.js

const { tuple } = require('./test-typescript');
const tuple = ['value1', 'value2'];

module.exports = {
  tuple
}
export const tuple: ['value1', 'value2'];
src/test-typescript.js

const { tuple } = require('./test-typescript');
const tuple = ['value1', 'value2'];

module.exports = {
  tuple
}
export const tuple: ['value1', 'value2'];
src/typings/test typescript.d.ts

const { tuple } = require('./test-typescript');
const tuple = ['value1', 'value2'];

module.exports = {
  tuple
}
export const tuple: ['value1', 'value2'];
当我将鼠标悬停在元组上时的结果:

我希望出现
['value1','value2']
类型,而不是
字符串[]


我尝试过许多其他方法(
rootDirs
,专用文件夹,其中包含
索引.d.ts
文件),但都没有效果。

如果将
test-typescript.d.ts
放在与
test-typescript.js
相同的文件夹中,VS-code应该能够识别您的手动类型定义。如果不执行后一种操作,那么如果您有多个JS文件执行此操作,那么推理如何消除导出的
元组成员的歧义?我认为
typeroot
不适合你在这里做的事情,因为你没有使用外部软件包。所以根据你的说法,我不能将JavaScript文件和定义文件放在单独的文件夹中?我在文档中读到,
typeroot
文件夹的文件夹结构必须与JavaScript文件夹结构相同,以消除可能发生冲突的导出的歧义。