2012-11-22 9 views
7

Próbując oddzielić pliki źródłowe .ts od danych wyjściowych .js, próbuję zaimplementować formalny obserwator plików w TypeScript i wydaje mi się, że nie istnieje możliwość określenia ścieżki wyjściowej dla pojedynczego pliku. .Czy można skompilować pojedynczy plik TypeScript do ścieżki wyjściowej za pomocą polecenia tsc?

Przepływ, żeby była jasność: zacznę oglądać całe moje src katalogu, wprowadzić zmiany, powiedzmy, src/views/HomeView.ts, i chcę węzeł podnieść, że plik został zmieniony, i przesunąć wersję skompilowaną do public/js/views/HomeView.js .

Używając przechodzi przez wszystkie moduły i kompiluje je w tej samej ścieżce, co plik .ts, nie umieszczając końcowego pliku (ów) we właściwej ścieżce. To ma jednak utworzyć pusty plik, w którym chciałbym go skończyć.

zastanawiam:

1) Czy jest możliwe aby użyć parametru --out i tylko kompilacji że jeden plik? Nie chcę, aby przechodził on import i kompilował każdy pojedynczy plik, a jedynie wykonywał sprawdzanie składni i błędów podczas kompilacji (a to tylko wymaganie dodatkowe, niepotrzebne); i

2) Czy w kompilatorze występuje błąd uniemożliwiający prawidłowe połączenie/tworzenie plików? Ponownie, końcowe wyjście w dyrektywie ścieżki --out jest puste, ale plik rzeczywiście jest tworzony.

Każda pomoc zostanie doceniona.

* Aktualizacja *

Choć nie chcę, aby zamknąć to pytanie, jak wierzę, jest to nadal problem, poszedł do przodu i wdrożył rdzenia maszynopis kompilatora, aby osiągnąć to, co potrzebne do zrobienia, z pominięciem tsc łącznie. Więcej informacji i użycie można znaleźć na stronie https://github.com/damassi/TypeScript-Watcher.

+0

Jest to problem dla nas, w szczególności część 1, w której kompilator rekompiluje wszystkie zależności i dlatego zmienia je wszystkie bardzo nieznacznie, ale nie funkcjonalnie wymaga, aby wszystkie zostały ponownie sprawdzone do kontroli kodu źródłowego. –

Odpowiedz

3

Gdy używasz parametru --out, otrzymujesz pojedynczy plik, w którym kompilator wykonuje zależność i opracowuje poprawną kolejność końcowego pliku.

Na przykład ...

tsc --out final.js app.ts 

będzie żadnych zależności w app.ts i skompilować je wszystkie za. Po obliczeniu prawidłowej kolejności zostanie zapisany cały skrypt JavaScript w wersji final.js. Jeśli ten plik JavaScript jest pusty, zwykle wskazuje na błąd kompilatora.

Nie można użyć parametru --out do wygenerowania pliku JavaScript dla określonego pliku TypeScript, chyba że plik nie ma zależności.

Powiązane problemy