2016-11-29 51 views
5

Witam Mam aplikację internetową uruchamianą na interfejsie Aurelia CLI.Automatyczna aktualizacja pakietu APL Aurelia jest powolna.

Z tego, co przeczytałem: in the documentation, CLI Aurelia działa zawsze "w pakiecie" i nigdy nie kieruje bezpośrednio plików źródłowych. Po uruchomieniu polecenia "au run -watch" Aurelia "nasłuchuje", aby dokonać zmian w pliku i automatycznie odtworzyć plik app-bundle.js. Przykładowe wyjście z konsoli:

Starting 'readProjectConfiguration'... 
Finished 'readProjectConfiguration' 
Starting 'processMarkup'... 
Starting 'processCSS'... 
Starting 'configureEnvironment'... 
Finished 'configureEnvironment' 
Starting 'buildJavaScript'... 
Finished 'processCSS' 
Finished 'processMarkup' 
Finished 'buildJavaScript' 
Starting 'writeBundles'... 
Tracing views/references... 
Writing app-bundle.js... 
Finished 'writeBundles' 
Starting 'reload'... 
Finished 'reload' 

To jest fajne, ale w moim przypadku prowadzi to do kiepskiego doświadczenia programisty. Kiedy przychodzę do pracy rano, każda zmiana, którą wprowadzam, jest łatwa do zaktualizowania w app.bundle, ale po pewnym czasie pracy proces "buildJavaScript" (patrz dane wyjściowe konsoli) trwa dłużej niż do końca, po kilku godzinach pracuj nawet do 30-40 sekund! Dla mnie, pracując jako programista i testując wiele drobnych zmian, jest to niezwykle bolesne.

Próbowałem (i wciąż robię) od czasu do czasu, aby zatrzymać polecenie "au run -watch" i ponownie uruchomić je ponownie, i początkowo robi się trochę lepiej, ale po pewnym czasie problem jest znowu.

Moje pytanie brzmi: czy istnieje obejście tego problemu, lub sposób przyspieszenia tego procesu lub jego obsługi bezpośrednio z plików źródłowych, a nie wersji pakietowej, czy może z innego rozwiązania? Czy to może być spowodowane wyciekiem pamięci w samej Aurelii?

UPDATE:

Raz na jakiś czas robi się tak wolno, że faktycznie wywala. To co mam dzisiaj (i innych kilka razy) z konsoli:

==== Details ================================================ 

[1]: _tickCallback(aka _tickDomainCallback) [internal/process/next_tick.js:~108] [pc=000000C928AFCE81](this=000003B0DF48BE31 <a process with map 0000012166110B71>) {... 

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 
+3

Zauważyłem to samo. Nie jest to związane tylko z 'aurelia-cli', ten sam" spowalniający "performance dzieje się w aplikacji' jspm', gdy używa się 'gulp watch' bezpośrednio, co jest ostatecznie tym, co używa' aurelia-cli'. Być może mógłbyś dodać tagi 'gulp' i' gulp-watch' do pytania. Chciałbym dowiedzieć się, czy istnieje sposób, aby naprawić/poprawić to ... –

+1

thanx dla podpowiedzi, dodałem tagi. –

Odpowiedz

0

To jest późna odpowiedź, ale w przyszłości myślę, że ważne jest, aby podkreślić, że skoro nowsza Aurelia CLI zwalnia to problem został naprawiony.

Problem z wydajnością, wraz z niektórymi poważniejszymi problemami ze stabilnością, został dokładnie omówiony w dokumencie GitHub #293: Error in buildTypeScript: A project cannot be used in two compilations at the same time.

Co oznacza, że ​​jeśli zaktualizujesz Aurelia CLI do v0.30 or higher, uzyskasz znacznie lepszą wydajność i stabilność.

+1

Zaktualizowałem aurelia-cli do wersji 0.31.3 i wszystkich innych pakietów npm do ich najnowszych wersji, ale zrobiło się lepiej, ale po pewnym czasie wciąż działa wolno (może nie tak wolno jak wcześniej, ale nadal denerwuje). Nadal muszę przerwać i ponownie uruchomić "zegarek" od czasu do czasu. –