【发布时间】:2021-06-27 16:16:44
【问题描述】:
我在我维护的 TypeScript npm 包中有以下 tsconfig.json。
{
"compilerOptions": {
"target": "es2020",
"module": "commonjs",
"lib": ["es2020"],
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"moduleResolution": "node",
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"exclude": ["scripts/", "test/"]
}
我通过 index.ts 中的默认导出导出所有函数、类和实用程序
export default {
CoolClass,
CoolClass2,
utils: {
utilFunction,
utilFunction2,
}
}
我在没有"type": "module" 的普通节点 v14 项目中使用 npm 包。我启用了 eslint。对于我使用的 npm 包,我通常会获得很好的智能感知。
我不知道为什么,但是对于从那个包编译的 TypeScript,我没有得到任何智能感知。
const { default as package } = require('mypackage');
const myClass = new package.CoolClass()
// if I hover over CoolClass, it shows (property) SpeechResponse: an
myClass. // if I hover over my class, it shows const resp: any
另外,类型化的对象参数会失去智能感知,这很烦人。
package.utils.utilFunction({ typedProperty: ... })
// I don't get any autocompletion for possible properties
我不确定是否需要更改我的 tsconfig.json 或者导出默认值是否可能是问题所在。任何帮助将不胜感激。非常感谢!
【问题讨论】:
标签: node.js typescript visual-studio-code