Я использую TypeScript Compiler API, который буквально не имеет документации так что, надеюсь, кто-то может здесь помочь.
Я пытаюсь добавить параметр ES2020
lib в параметры моего компилятора при запуске ts.createProgram
.
Я обнаружил, что "lib"
- это string[]
, где определен интерфейс _5 здесь.
Я пробовал установить lib следующим образом:
const program = ts.createProgram(files, {
target: ts.ScriptTarget.ES2020,
module: ts.ModuleKind.ES2015,
lib: ["ES2020"], // <---
...
}, host);
Кажется, это не работает, я получаю постоянные ошибки компиляции с указанием Cannot find name 'Array/Number/Math'
и т. Д., Поэтому очевидно, что библиотека определена неправильно.
Как правильно установить либ ???
Изменить: у меня есть настраиваемый объект хоста со следующей функцией, которая может иметь отношение к вопросу:
getDefaultLibFileName(options) {
return ts.getDefaultLibFilePath(options);
}
host
? Возможно, это не поискnode_modules
в правильном месте. - person David Sherret   schedule 06.08.2020node_modules
, который компилируется. В любом случае я пытаюсь исправить встроенные языковые модули, такие какMath
, а не что-либо из модуля узла. - person David Callanan   schedule 06.08.2020tsc
- person inorganik   schedule 06.08.2020