TypeScript funkcja "Kompiluj przy zapisie" nie działa w Visual Studio 2015
Funkcja "Kompiluj przy zapisywaniu" nie działa dla mnie po aktualizacji do Visual Studio 2015. Kiedy zmieniam plik .ts
w moim projekcie i zapisuję, pasek stanu na dole IDE mówi Output(s) generated successfully
, ale wygenerowany plik .js
się nie zmienia.
Oto co próbowałem:
-
Dodanie następującego elementu root
<Project>
w moim.csproj
:<PropertyGroup> <TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled> </PropertyGroup>
-
Sprawdzanie i odznaczanie "automatycznie kompilowanych plików maszynopisu, które nie są częścią projekt " opcja w
Tools -> Options -> TypeScript -> Project
: -
Podwójne sprawdzanie, aby upewnić się, że "Compile on save" jest zaznaczone we właściwościach budowania maszynopisu mojego projektu:
Na marginesie, etap kompilacji maszynopisu działa zgodnie z oczekiwaniami, gdy jest uruchamiany przez regularną kompilację.
10 answers
Dla mnie była to opcja w tsconfig.json
:
"compileOnSave": true,
"compilerOptions": { ... },
Uruchom ponownie Visual Studio, aby zmiana weszła w życie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-04 14:49:39
Natknąłem się dziś na ten problem: naprawiłem go używając nowej opcji kompilatora "watch":true
, dostępnej również przez JSON w najnowszych wersjach maszynopisu:
{
"compilerOptions": {
"watch": true
}
}
Po tym, musiałem rozwiązać kolejny problem związany z następującym błędem, który pojawił się w oknie wyjściowym:
Object doesn't support property or method 'watchFile'
Okazało się, że mój system używa przestarzałej wersji TypeScript (1.0.x), mimo że byłem pewien, że mam nowszą wersję, która pojawiła się wraz z aktualizacją Visual Studio 2015 1 (1.7). Jeśli napotkasz ten problem, możesz łatwo sprawdzić wersję tsc, wpisując tsc -v
z wiersza polecenia.
Jeśli jest napisane 1.0.x
lub cokolwiek innego C:\Program Files (x86)\Microsoft SDKs\TypeScript
Jeśli nie, zaktualizuj odpowiednio. Otwórz CPanel > System > zaawansowane > zmienne środowiskowe , wybierz Zmienne systemowe i kliknij Edytuj ; Przeglądaj listę szukając jakiegokolwiek odniesienia do folderu maszynopisu, Zmień jedną z nich, aby wskazywała na najnowszą zainstalowaną wersję maszynopisu (1.7
lub powyżej) i usuń inne duperele. Zobacz także zrzut ekranu poniżej:
Aby uzyskać dodatkowe informacje, przeczytaj to post .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-07 20:06:38
Ten problem został rozwiązany przy ostatniej aktualizacji rozszerzenia TypeScript Language Services
.
Zobacz tę odpowiedź , aby dowiedzieć się, jak zastosować tę aktualizację.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:09
Rozwiązanie:
Dla mnie i jestem całkiem pewien, że tak jest również w przypadku innych, było to spowodowane błędem w tsconfig.json.
Musisz dodać "compileOnSave": true. Ale w globalnej sekcji nie wewnątrz compilerOptions.
Wrong:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"compileOnSave": true
},
"exclude": [
"node_modules",
"wwwroot"
]
}
Correct:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5"
},
"compileOnSave": true,
"exclude": [
"node_modules",
"wwwroot"
]
}
Pozdrawiam,
Anders Both Basechat.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-01 11:39:55
W moim przypadku zainstalowałem Visual Studio Community 2015 wraz z side VS 2012. Używałem Web Essentials dla maszynopisu w 2012 roku, co wydawało się sprzeczne z 2015.
Odinstalowanie Web Essentials w 2012 naprawiło problem dla mnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-18 09:26:07
Z typescript 2 musisz usunąć "outDir": z twojego tsconfig. Napraw mi błąd w visual studio.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-20 08:49:58
W properties projektu - > "TypeScript Build", możesz również po prostu odznaczyć opcję " Nie emituj wyjść, jeśli zostaną zgłoszone błędy."Po sprawdzeniu wydaje się dezaktywować transpilowanie przy zapisie, w przypadku wystąpienia błędu lub nie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-02 04:42:12
"compileOnSave": true,
nie działało na mnie. W końcu odkryłem, że Visual Studio nie honoruje wartości "compileOnSave": true,
, jeśli jest zdefiniowana w innym pliku .json
, który rozszerzasz. Musi być w korzeniu, żeby zadziałało.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-06 22:16:06
Zlokalizuj plik tzn. C:\file.ts w Twoim terminal/cmd
i wpisz
tsc file.ts -w // watches for file changes and converts on save
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-04 07:44:17
Dokładnie ten sam problem.
Używam Visual Studio 2015 update 3 i TypeScript 2.9.2.0. W tools / options / projects and solutions / external web tools uaktualniłem $(PATH) na drugą pozycję.
Przy tych wszystkich konfiguracjach, compileOnSave: true nie działa dla mnie. Rozwiązanie obejścia problemu polega na otwarciu linii poleceń, uruchomieniu ng build --watch
z boku i pozwól node zająć się automatyczną kompilacją
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-03 16:21:54