Типпикс 2.0 @types не ссылается автоматически

используя бета-версию TS 2.0. Я не могу заставить новые @types работать. где-то в моем коде:

import * as angular from 'angular';

TS 2.0 @types:

npm install --save @types/angular
tsc

компилятор не находит файлы d.ts, хотя: Ошибка: (1, 26) TS2307: Не удается найти модуль "угловой".

нет проблем с текущим (старым) методом использования инструмента титров и глобальных (до окружающих) зависимостей.

Я ожидал, что поиск d.ts будет работать автоматически с 2.0, как описано здесь:

https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

возможно, я чего-то не хватает?

Ответы

Ответ 1

У меня была такая же проблема с другим файлом - tsc не нашел node_modules/@types/es6-shim. Явное добавление типов в tsconfig.json помогло:

{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "noEmit": true,
    "types":["es6-shim"],
    "sourceMap": true,
    "target": "es5"
  }
}

Ответ 2

То, что я вижу в Visual Studio Code, заключается в том, что по-прежнему требуется ссылка с тройной слэш. Вариант компилятора типов в tsconfig.json разрешит ошибки компиляции, но VS Code не подберет это, и он покажет ошибки при открытии файла в редакторе.

Ниже приведен пример ссылки на тройной слэш для узла:

/// <reference path="../node_modules/@types/node/index.d.ts" />

Ссылка на тройной слэш может быть в отдельном файле, и она будет применяться по всей доске к другим файлам проекта, но должна находиться в той же папке, что и файл tsconfig.json.

Ответ 3

У меня была такая же проблема, когда она успешно tsc app.ts через tsc app.ts, tsc app.ts, но сборка tsc app.ts бы неудачно. В моем случае мне нужно было убедиться, что модули gulp используют самую последнюю версию для компиляции, а не версию в комплекте с модулем, т. tsify Для tsify, передавая ссылку на новый компилятор: .plugin(tsify, {typescript: require('typescript')}).

Не уверен, что это относится к вашей ситуации.