Otrzymuję ostrzeżenie ...
Eksperymentalne wsparcie dla dekoratorów to funkcja, która może ulec zmianie w przyszłej wersji. Ustaw opcję „experimentalDecorators”, aby usunąć to ostrzeżenie.
... mimo że moje compilerOptions w tsconfig.json mają następujące ustawienia:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
Dziwne jest to, że niektóre losowe klasy, które używają dekoratorów, nie pokazują tego ostrzeżenia, ale robią to pozostałe w tym samym projekcie.
Co może powodować takie zachowanie w kompilatorze TypeScript?
.ts
ręcznie dodałeś plik do projektu kątowego; jeśli tak, domyślna kompilacja TS jest w konflikcie z Angular CLI. Kliknij plik prawym przyciskiem myszy -> Właściwości -> Kompilacja: Brak. Następnie uruchom ponownie VS w razie potrzeby.code .
) w niewłaściwym katalogu. Wszystko wydawało się OK - widziałem i mogłem edytować wszystkie moje pliki - więc na początku nie zauważyłem, że coś jest „nie tak”. Ale dostałem tego głupiego „eksperymentalnego dekoratora” na jednym - i tylko na jednym! - Element kątowy. Opuściłem VSCode, ponownie uruchomiłem (code .
ponownie) w katalogu CORRECT (mój katalog główny projektu Angular) .. i ostrzeżenie zniknęło.Odpowiedzi:
Chociaż VS Code jest świetnym edytorem dla projektów TypeScript, od czasu do czasu potrzebuje kopniaka. Często bez ostrzeżenia niektóre pliki powodują, że wariuje i narzeka. Najczęściej wydaje się, że poprawka polega na zapisywaniu i zamykaniu wszystkich otwartych plików, a następnie otwieraniu
tsconfig.json
. Następnie powinieneś być w stanie ponownie otworzyć niepoprawny plik bez błędów. Jeśli to nie działa, spień, wypłucz i powtórz.Jeśli
tsconfig.json
określisz swoje pliki źródłowe za pomocąfiles
tablicy, IntelliSense będzie działał poprawnie tylko wtedy, gdy plik zostanie przywołany, tak że VS Code może go znaleźć, przechodząc przez drzewo plików wejściowych.Edycja: Polecenie „przeładuj okno” (dodane teraz przed wiekami) powinno raz na zawsze rozwiązać ten problem.
źródło
xproj
atsconfig
pominąłem fakt, że folder z moimi plikami skryptów został wymieniony wexclude
sekcjitsconfig
. Mam nadzieję, że to komuś pomoże.Muszę dodać następujące w pliku settings.json vscode, aby usunąć ostrzeżenie.
"javascript.implicitProjectConfig.experimentalDecorators": true
VSCode -> Preferencje -> Ustawienia
źródło
ctrl + ,
Klawisz skrótu, aby otworzyć ustawienia użytkownika. w ustawieniach użytkownika kliknij 3 kropki (...
), a następnie w wyskakująceOpen settings.json
settings.json
Ten błąd występuje również po wybraniu folderu „src” dla folderu obszaru roboczego.
Po wybraniu folderu głównego, folderu, w którym znajdują się „src”, „node_modules”, błąd znika
źródło
Plik -> Preferencje -> Ustawienia
źródło
w swoim projekcie utwórz plik tsconfig.json, a następnie dodaj te linie
źródło
muszę dodać
typescript.tsdk
do mojego.vscode/settings.json
:źródło
.vscode/settings.json
, jak na to.vscode
folderu (nie wiem dlaczego - jestem backendem, zostaw mnie w spokoju!), Więc utworzyłem go w folderze głównym ze wspomnianymsettings.json
plikiem.W VSCode, przejdź do Plik => Preferencje => Ustawienia (lub Control + przecinek), a otworzy się plik ustawień użytkownika. Wyszukaj „javascript.implicitProjectConfig.experimentalDecorators”: true, a następnie zaznacz pole wyboru dla eksperymentalnychDecoratorów w pliku i powinno to zostać naprawione. To mi zrobiło.
źródło
W Visual Code Studio przejdź do Plik >> Preferencje >> Ustawienia, Wyszukaj „dekorator” w polu wyszukiwania i zaznacz opcję jak na obrazku.
źródło
Otwórz
settings.json
plik w następującej lokalizacji<project_folder>/.vscode/settings.json
lub możesz otworzyć plik z menu, jak wspomniano poniżej
VSCode -> File -> Preferences -> Workspace Settings
Następnie dodaj następujące wiersze do
settings.json
plikuTo wszystko. Nie zobaczysz żadnego ostrzeżenia / błędu dotyczącego „ eksperymentalnych dekoratorów ”
źródło
Ta odpowiedź jest przeznaczona dla osób korzystających z projektu Javascript , a nie projektu maszynopisu . Zamiast pliku tsconfig.json możesz użyć pliku jsconfig.json .
W szczególnym przypadku, gdy dekoratorzy ostrzegają, że chcesz zapisać w pliku:
W przypadku zapytanych zachowań buggy zawsze lepiej jest określić „włącz” w pliku konfiguracyjnym i ponownie uruchomić edytor. Na przykład
źródło
Rozwiązuje ten problem.
źródło
settings.json
(użytkownik lub przestrzeń robocza). Możesz także użyć ustawień GUI, tak jak ta odpowiedźDodaj następujące wiersze w tsconfig.json i zrestartuj VS Code.
źródło
Nie należy podważać tej kwestii, ale należy dodać do niej następujące elementy
w sekcji Plik >> Preferencje >> Ustawienia
„javascript.implicitProjectConfig.experimentalDecorators”: true
to rozwiązało problem i próbowałem sporo sugestii, które znalazłem tutaj i w innych miejscach.
źródło
Ostatnio miałem ten problem w programie Visual Studio 2017 - okazało się, że był on spowodowany przez „funkcję” VS - ignorowanie tsconfig.json, gdy akcja kompilacji nie jest ustawiona na Treść .
Tak więc zmiana działania Kompilacja na Treść i ponowne załadowanie rozwiązania rozwiązało problem.
źródło
Dla jasności i głupoty.
1) Otwórz plik .vscode / settings.json.
2) Dodaj do niej „typescript.tsdk”: „node_modules / typescript / lib”.
3) Zapisz to.
4) Uruchom ponownie kod Visual Studio.
źródło
Jeśli pracujesz w Visual Studio. Możesz wypróbować tę poprawkę
Dodaj TypeScriptExperimentalDecorators do tej sekcji, jak pokazano na obrazku
zobacz więcej szczegółów w tej lokalizacji.
źródło
Jeśli używasz cli do kompilacji plików * .ts, możesz ustawić experimentalDecorators za pomocą następującego polecenia:
źródło
Sprawdź, czy w swoim kodzie VS sprzeciwiłeś się folderowi całego projektu, a nie tylko folderowi src, ponieważ jeśli otworzysz tylko plik src, plik ts.config.json (znajdujący się w folderze projektu) nie będzie objęty zakresem, a VS nie rozpozna eksperymentalnych parametrów dekoratorów.
W moim przypadku rozwiązało to wszystkie problemy związane z tym problemem.
źródło
src
inode_modules
zamiast tylkosrc
.źródło
Otwórz cały folder projektu zamiast nazwa-projektu / src
źródło
Poprawiłem ostrzeżenie, usuwając „baseUrl”: „” z pliku tsconfig.json
źródło
Ten problem może wystąpić, jeśli otworzysz plik TS, który istnieje poza projektem. Na przykład używam lerny i miałem plik otwarty z innego pakietu. Chociaż ten drugi pakiet miał własny tsconfig z eksperymentalnymi dekoratorami, VsCode go nie honoruje.
źródło
Napotkałem ten sam problem podczas tworzenia usług iniekcyjnych w Angular 2. Mam wszystkie rzeczy w tsconfig.json. Nadal otrzymywałem ten błąd w linii ColorsImmutable.
źródło
Jeśli używasz środowiska uruchomieniowego Deno JavaScript i TypeScript i włączysz eksperymentalneDecorators: true w tsconfig.json lub ustawieniach VSCode ide. To nie zadziała. Zgodnie z wymaganiami Deno, musisz podać tsconfig jako flagę podczas uruchamiania pliku Deno. Zobacz Opcje niestandardowego kompilatora TypeScript
W moim konkretnym przypadku przeprowadzałem test Deno i korzystałem z niego.
Jeśli jest to plik, masz coś takiego
mój tsconfig.json
źródło
Dodałem tę opcję do tsconfig.json,
"baseUrl": "front-end"
Zastąp interfejs użytkownika nazwą twojego projektu angular -cli.źródło
Możesz także spróbować
ng build
. Właśnie przebudowałem aplikację i teraz nie jest zgodna.źródło
Okazuje się, że można to obejść, dopasowując nazwę modułu do nazwy pliku. Jeśli masz nazwę modułu BankSpec Specjalność, to nazwa pliku powinna wynosić. bank-speciality.module.ts
źródło
Wystąpił ten błąd, gdy utworzyłem nowy moduł i przeniosłem mój plik * .module.ts i * -routing.module.ts do innego folderu. Po usunięciu dwóch plików i utworzeniu modułu w nowym folderze działa idealnie. Środowisko Angular Version 9 i Angular CLI wersja 9.1.0
źródło