Я заметил там организацию npm @types, которая содержит набранные пакеты, но не может найти на ней никакой документации. Как они предназначены для использования?
Используется ли это для инструмента typings? Если да, то как их установить? Например, существует @types/openlayers
, но typings search npm:openlayers
ничего не возвращает.
Используется ли он отдельно от инструмента тиреобразования? Например. установлен непосредственно с помощью npm
?
Как и в случае TypeScript 2.0, типизация больше не требуется. Организация npm - это организация для настройки команды разработчиков. Я полагаю, что Microsoft настроила организацию @types в npm и добавила команду разработчиков TypeScript в организацию. Пакеты под организацией @types публикуются автоматически из DefinitelyTyped с использованием инструмента типа-издателя в соответствии с docs.
Кроме того, есть еще один способ добавить types
к вашим пакетам:
В вашем пакете. json
Если ваш пакет имеет основной файл .js
, вам также необходимо указать основной файл декларации в вашем файле package.json
. Задайте свойство types
, чтобы указать ваш связанный файл декларации. Например:
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
Обратите внимание, что поле "typings"
является синонимом "types"
и может также использоваться.
Также обратите внимание, что если ваш основной файл декларации имеет имя index.d.ts
и живет в корневом каталоге (рядом с index.js
), вам не нужно отмечать свойство "types"
, хотя это желательно сделать.
Что касается типов поиска
По большей части, пакеты декларации типов всегда должны иметь то же имя, что и имя пакета в npm, но с префиксом @types/, но если вам нужно, вы можете проверить https://aka.ms/types, чтобы найти пакет для вашей любимой библиотеки.
От - http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html
Но когда я сделал npm search @types/openlayers
, я не получил никаких результатов. Но поиск из веб-интерфейса действительно возвращал мне результаты. Поэтому я полагаю, что npm search
не выполняет поиск между организациями.
package.json
в свойстве types
, я заметил, что вы говорите о пакетном файле декларации . Что было бы самым простым способом достичь этого в автоматизированной системе сборки, такой как gulp?
Объявление в блоге TypeScript отвечает на это: Будущее файлов декларации
Сводка:
Организация @types
npm предназначена для получения определений типов с помощью npm
. Использование этих определений типов - это функция, входящая в TypeScript 2.0.
Это заменит текущие проекты/инструменты, такие как typings и tsd, хотя они будут по-прежнему поддерживаться в течение некоторого времени.
core-js
w / npm i @types/core-js --save
, я вижу, что это в папке, но проект все равно выдает ошибки для вещей. Есть ли что-то еще, что я должен делать? Мне нужно, чтобы tsconfig знал о @types или о чем-то? Как сказал Шон, документации по типам еще нет :(
Это будет функция, которая будет развернута в Typescript 2.0. Это обеспечивает поддержку типов для UMD-модулей/библиотек и их соответствующих определений.
См. https://github.com/Microsoft/TypeScript/issues/7125#issuecomment-210182488, чтобы лучше понять проблемы, возникающие в настоящее время при использовании типичных типов окружения.
/// <reference
сценарий? Будет ли компилятор TypeScript автоматически искать типы в node_modules/@types
(как он ищет модули в node_modules
когда 'moduleResolution': 'node'
)? Что это значит для typings
- он также обрабатывает внешние зависимости. Это как-то связано?