Подтвердить что ты не робот

Получение ошибки - не удается найти имя angular

Я начинаю писать приложение AngularJS с помощью TypeScript. У меня есть эта простая команда модуля:

(() => {
    angular
        .module('app', []);
})();

Когда я запустил tsc app.ts, я получил следующее: app.ts(2,5): error TS2304: Cannot find name 'angular'.

Нужно ли включать что-то в app.ts, чтобы tsc понять angular?

Привет,

4b9b3361

Ответ 1

Вы можете упростить указание компилятору перестать беспокоиться, сказав ему, что "вы знаете все об angular":

declare var angular: any;

Чтобы получить все хорошие инструменты и проверку типов, вам нужно включить определение типа Angular, чтобы компилятор знал, что доступно.

Определения типов доступны через NuGet, если вы используете Visual Studio или другие методы для вашей любимой IDE.

Ответ 2

Используя AngularJS 1.x и TypeScript 2.x, я решил эту проблему, выполнив:

npm install --save-dev @types/angular

а затем включите следующую строку поверх файла .ts:

import * as angular from "angular";

Ссылка: Будущее файлов декларации

Ответ 3

Вам нужно включить angular.t.ds файл в библиотеку

Ответ 4

ATOM

В файле tsconfig.json убедитесь, что ваш "fileGlobs" указывает на оба: -

  • Определения TypeScript, которые вы установили с помощью tsd &
  • Ваш src .ts files
"filesGlob": [
  "./typings/**/*.ts",
  "./src/client/**/*.ts"
]

Это гарантирует, что у вас есть инструменты для библиотек, которые вы установили (с помощью tsd) без необходимости declare любых переменных. Например, если вы tsd install angularjs --save, вы можете работать angular в src/../*.ts files со всеми удобными инструментами.

Надеюсь, это поможет. Удачи.

Ответ 5

Я решил проблему, добавив следующую строку в мой пакет package.json внутри раздела "devDependencies":

"@types/angular" : "1.6.17"

после этого мне просто нужно было запустить

npm install

чтобы npm загрузил все необходимые зависимости.

Ответ 6

Для меня внутри VisualStudio я использовал часть предложенного Аугусто ответа и просто сделал:

npm install --save @types/angular

и он работал как шарм.

Ответ 7

Убедитесь, что в tsconfig.json filesGlob tsconfig.json filesGlob указывает и показывает файл наборов:

"filesGlob": ["typings.d.ts" ]