按名称获取导出符号的最佳方法是什么?
下面是功能代码。但是,它确实有点脆弱,因为在不忽略类型系统的情况下,我无法从“ sourceFile”中获取“ symbol”。
const sourceFile = tsprogram.getSourceFile('foo_file.ts');
const fileSymbol = (sourceFile as any).symbol as ts.Symbol; // anything better her?
const export = fileSymbol.exports.get('FooComponent');
答案 0 :(得分:2)
使用类型检查器:
const fileSymbol = tsprogram.getTypeChecker().getSymbolAtLocation(sourceFile);
const fooComponentSymbol = fileSymbol?.exports.get('FooComponent');
请注意,fileSymbol
在没有文件导出时将是未定义的。