Javascript 如何忽略正在进行类型检查的文件?
鉴于我有以下三个文件: index.jsJavascript 如何忽略正在进行类型检查的文件?,javascript,typescript,Javascript,Typescript,鉴于我有以下三个文件: index.js // @ts-check const NODE_MAJOR_VERSION = process.versions.node.split('.')[0]; const dependency = NODE_MAJOR_VERSION < 12 ? require('./legacy.js') : require('./current.js'); dependency("hello world"); current.js // @ts-
// @ts-check
const NODE_MAJOR_VERSION = process.versions.node.split('.')[0];
const dependency = NODE_MAJOR_VERSION < 12
? require('./legacy.js')
: require('./current.js');
dependency("hello world");
current.js
// @ts-check
module.exports = () => { /* some code for newer node versions only */ }
我想检查这两种情况下的代码(node<12
和node>=12
)
我的想法是有两个tsconfig.json
文件,并使用安装的不同@types/node
版本运行两次类型检查。例如:
npm安装`@类型/node@12.0.0`
tsc-p tsconfig.old.json
npm安装`@类型/node@latest`
tsc-p tsconfig.json
不幸的是,我没有找到一种方法将current.js
排除在类型检查之外,因为它是index.js
所要求的
到目前为止,我试过:
tsconfig.json
exclude: [ "current.js" ]
然而,它仍然告诉我,一旦我运行tsc
,current.js就会包含类型错误
exclude: [ "current.js" ]