Как добавить типизацию в typings.json для Typescript в Visual Studio 2015?

Я должен спросить, потому что это сводит меня с ума. Я вижу npm способ установки типов в Google, но в учебнике по Angular2 есть одно дополнение файл typings.json, затем он добавил папку typings и автоматически загрузил файлы d.ts из DefinitelyTyped. Я пробовал это с jquery, но он не загружался. Я также попытался перестроить проект, и я ожидал, что package.json будет включать команды для добавления дополнительных типов.

Вот мои скрипты из файла package.json:

"scripts": {
  "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
  "tsc": "tsc",
  "tsc:w": "tsc -w",
  "lite": "lite-server",
  "typings": "typings",
  "postinstall": "typings install"
}

Вот файл typings.json, который я пробовал. es6-shim и жасмин загружены.

{  "ambientDependencies": {
   "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
   "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
   "jquery": "github:DefinitelyTyped/DefinitelyTyped/jquery/jquery.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd"
}}

Вероятно, это что-то простое, например, отсутствие контрольной суммы после хэштега. Где мне найти правильную контрольную сумму или какую команду мне нужно добавить в package.json, чтобы получить типизацию при компиляции, или что я делаю неправильно?

Еще один пример добавления строки в файл typings.json а затем он устанавливает для вас файлы d.ts. Прокрутите вниз, пока не увидите Ввод вручную.


person Zachary Scott    schedule 14.04.2016    source источник


Ответы (2)


  1. Убедитесь, что у вас установлен npm.
  2. Откройте выбранную вами консоль (например, командную строку или powershell)
  3. Перейдите в папку вашего проекта

Используя только npm (TypeScript 2 и более поздние версии):

  1. npm install --save @types/jquery

    Готово: см. это для получения дополнительной информации.

Использование типизации (Typescript до v.2):

  1. Убедитесь, что у вас установлены типы, если не запустите npm install typings --global
  2. Напишите typings install dt~jquery --save --global

    Это должно обновить ваш файл typings.json и загрузить файлы определений.

    В приведенном выше примере для типизации «dt~» означает, что он должен искать jquery в репозитории DefinitelyTyped, значение по умолчанию — «npm». Синтаксис немного изменился с версии 0.x на 1.0, флаг --global ранее был --ambient.

person Alex    schedule 14.04.2016
comment
Это хороший ответ, но я пытаюсь понять, как "postinstall" : "typings install" в файле package.json нужны записи typings.json, отформатированные так, чтобы он делал то же самое, что и этот ручной процесс. - person Zachary Scott; 15.04.2016
comment
Предполагая, что "postinstall": "typings install" в package.json совпадает с npm install typings выше, использует ли npm typings.json, чтобы выяснить, что нужно получить? Кроме того, будет ли он обновляться, если вы запустите npm install typings во второй раз? Может быть, нам просто нужно добавить какую-то команду в postinstall? - person Zachary Scott; 15.04.2016
comment
Вот что у меня сработало: типизация install dt~jquery --save --global. dt определяет исходный репозиторий, --save добавит определение в файл typings.json. - person evandor; 11.06.2016
comment
Я могу подтвердить, что вы должны поместить dt~ перед библиотекой. Даже если вы попробуете без dt~, типизация поможет вам использовать правильное имя с подробными сообщениями об ошибках. - person skiabox; 16.09.2016
comment
Куда писать эти команды? Я пробовал powershell. Это не работает. Я использую VS 2015 Community. Там написано The term 'typings' is not recognized as the name of a cmdlet, function, script file, or operable program. CategoryInfo: ObjectNotFound. FullyQualifiedErrorId: CommandNotFoundException - person phougatv; 16.10.2016
comment
@barnes Похоже, вы неправильно установили типизацию. Вы выполнили пункты 1 и 2? - person Alex; 16.10.2016
comment
@barnes Добавил пояснения к инструкции. - person Alex; 16.10.2016
comment
Я не устанавливал npm. Я начал VS 2015 Comm и следовал инструкциям. - person phougatv; 16.10.2016
comment
@barnes У вас должен быть npm, typings — это пакет npm. - person Alex; 16.10.2016
comment
Спасибо :). В настоящее время я следую вашей ссылке и нескольким другим. Сделаю по вашим доработкам. - person phougatv; 16.10.2016

Я обнаружил, что открытие и повторное сохранение package.json после создания файла typings.json приводит к тому, что типизация вытаскивается. Это мой текущий файл типов:

{
    "ambientDependencies": {
        "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
        "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd"
  }
}
person John Duckworth    schedule 01.05.2016
comment
Я пробовал это, но он не запускает typings install, который сбрасывает файлы. - person Greg Gum; 30.06.2016
comment
Если вы посмотрите здесь: angular.io/docs/ts /latest/guide/ Вы можете видеть, что вам все еще нужно добавить "scripts": { "postinstall": "typings install" } к вашему package.json - person Serj Sagan; 28.07.2016