2016-09-03 6 views
40

У меня есть существующий проект, который имеет эту линию в tsconfig.json:Что делает опция tsconfig «lib»?

lib:["2016", "DOM"] 

Какова цель этого?

Единственная информация, я мог бы найти это:

Укажите файл библиотеки, которые будут включены в компиляции. Требуется TypeScript версии 2.0 или новее.

Что это значит?

ответ

28

Это новая функция машинопись 2 и поэтому до сих пор нет документации, но вы можете прочитать об этом в What's new in Typescript 2.0:

с --lib вы можете указать список встроенных API декларации групп , которые вы можете включить в свой проект. Например, если вы ожидаете, что ваша среда выполнения будет поддерживать Map, Set и Promise (например, самых вечнозеленых браузеров сегодня), просто включите --lib es2015.collection, es2015.promise. Аналогичным образом вы можете исключить объявления , которые вы не хотите включать в свой проект, например. DOM, если вы работаете над проектом узла с помощью --lib es5, es6.

Существует также список API groups, которые поддерживаются и очень короткий пример в этой ссылке.

+0

спасибо, можете ли вы представить простой пример групп объявлений API-интерфейса _built-in? Это библиотека полиполков? –

+0

Я не уверен, что вы имеете в виду, у вашего вопроса есть пример, также в ссылке, которую я представил, у них есть пример: '" lib ": [" es5 "," es2015.promise "]'. Еще один из них - нацелить 'es5', но использовать' es6' функции: '" lib ": [" es6 "," dom "]' –

+5

Я имел в виду, что когда я указываю «lib»: ["es5"], просто означает, что я могу использовать 'es5' типы в' ts', жалующиеся на компилятор, или какие-то поли-заливки будут предоставлены 'tsc'? –

Смежные вопросы