2015-03-25 16 views
7

Właśnie zaczynam od TypeScript i próbuję dodać go do istniejącego projektu AngularJS.Dlaczego pojawia się błąd: (45, 1) TS2304: Nie można znaleźć nazwy "kątowej". w WebStorm

"Wykluczyłem" katalog altan, w którym kątowe jest zainstalowane i wczytałem definicje definiujące zdecydowanie typu kątowego w oknie preferencji.

Komplet kodu kreskowego działa, ale maszynopis daje mi błąd TS2304, niezależnie od tego, gdzie koduję "kątowy".

Co przeoczyłem?

Odpowiedz

12

Aby rozwiązać ten problem, należy skopiować pobrane odcinki definitelyTyped maszynopis z ~/Library/Caches/WebStorm9/extLibs folderu do katalogu projektu i odwoływać się do nich w pliku .TS wykorzystaniem /// <reference path> komentarze, jak

/// <reference path="path/to/angular.d.ts" /> 

Wystarczy, aby wyjaśnić rzeczy: Po pobraniu maszynopis stubs v ia Preferencje/Języki & Frameworks/Javascript/library, są one umieszczane w ~/Library/Caches/WebStorm9/extLibs. Dla Webstorma wszystko jest w porządku - nie wymaga umieszczania plików biblioteki bezpośrednio w folderze projektu. Ponadto, sama Webstorm nie potrzebuje komentarzy, aby móc rozwiązywać typy - typy podpowiedzi/nawigacji/uzupełniania działa, nawet jeśli typy nie są jawnie przywoływane. Ale kompilator tsc potrzebuje plików d.ts umieszczanych gdzieś w katalogu projektu i odwoływanych przez komentarz ///reference. Tak więc, aby pobrać pobrane pliki do kompilatora maszynopisu, należy skopiować/przenieść je do katalogu projektu (i prawdopodobnie zmienić nazwy na bardziej czytelne dla człowieka nazwy :)) i dodać komentarze (można to zrobić, używając intencji 'Generate reference path comment (naciśnij Alt + Wpisz na referencji, aby wygenerować komentarz)). Planujemy, aby zapewnić możliwość pobierania plików bezpośrednio do folderu projektu (zamiast układu/extLibs /) w przyszłych wersjach

+1

Zamiast kopiować pliki z biblioteki systemowej WebStorm, zainstalowałem osobną kopię definicji typów za pomocą tsd. Z pewnością zaoszczędziłoby to trochę pracy, gdyby WebStorm zrobił to bezpośrednio. – kpg

+0

jest również "prawdziwe" dla Angular2? –

+0

mniej więcej. Jaki jest twój problem - "TS2307: Nie można znaleźć modułu" angle2/core "? Kompilator nie może znaleźć plików d.ts zaimportowanych przez moduł. Jeśli nie masz /// lena

2

prawdopodobnie trzeba dodać odwołanie do .d.ts w danym pliku .TS mający problem, coś jak:

/// <reference path="../typings/angular.d.ts"/> 
1

downloaded the definitelyTyped definitions for angular in the preferences window.

Intencją pobierając odcinki takiego jest zapewnienie intellisense dla JavaScript kod nie kod TypeScript. W przypadku kodu TypeScript należy pobrać i odwołać się do .d.ts bezpośrednio w kodzie TypeScript.

Powiązane problemy