2017-01-10 70 views
6

Tak więc jestem nowy dla Jońskiego i może czegoś brakuje. Ale zacząłem nowy pusty app tak:Dlaczego kompilacja Ionic 2 jest tak duża, nawet dla małych/pustych aplikacji?

ionic start BlankApp --v2 blank

dodaje platformę przeglądarki:

cordova platform add browser

a następnie zbudowany dla produkcji:

ionic build browser

wyjście wygląda następująco:

> [email protected] ionic:build C:\Work\ionic\BlankApp 
> ionic-app-scripts build 

keywords if/then/else require v5 option 
[17:56:25] ionic-app-scripts 0.0.47 
[17:56:25] build dev started ... 
[17:56:25] clean started ... 
[17:56:25] clean finished in 3 ms 
[17:56:25] copy started ... 
[17:56:25] transpile started ... 
[17:56:28] transpile finished in 3.47 s 
[17:56:28] webpack started ... 
[17:56:28] copy finished in 3.65 s 
[17:56:34] webpack finished in 5.65 s 
[17:56:34] sass started ... 
[17:56:35] sass finished in 1.45 s 
[17:56:35] build dev finished in 10.73 s 

You have been opted out of telemetry. To change this, run: cordova telemetry on. 

Error loading cordova-browser 


Running command: cmd "/s /c "C:\Work\ionic\BlankApp\platforms\browser\cordova\build.bat"" 


Cleaning Browser project 

Spodziewałem się małego pakietu js, ponieważ ta aplikacja nie ma w nim nic. Trzęsienie drzew miało spowodować, że zrzuciło dużo kodu, a aplikacja miała, jak sądzę, szybko się rozjaśniać.

Niestety, nie to się stało.

Katalog platforms/browser/www/build/js ma plik main.js o rozmiarze większym niż 4 MB. Istnieje również plik main.css z 500 KB treści.

Czego mi brakuje? patrzę w niewłaściwym miejscu?

** AKTUALIZACJA: ** Moim problemem jest to, że próbuję zbudować progresywną aplikację internetową. Gdybym tylko chciał zbudować aplikację mobilną, byłoby dobrze. Ale w przypadku aplikacji internetowej, która pobiera 4MB rzeczy, zanim nawet liczenie własnych treści jest szalone, nie mogę uwierzyć, że to stan związku w wydaniu RC4.

Dziękuję

Eduardo

+0

Jeśli robisz aplikację, należy prawdopodobnie tylko zakodować go w czystej HTMJ + JS + CSS, zamiast korzystania jonowej. Pozwoli to zaoszczędzić dużo miejsca i prawdopodobnie wiele kłopotów. Nie sądzę, żeby Ionic lub Cordova były do ​​tego przeznaczone. –

+0

Miałem nadzieję, że będę mieć jedną bazę kodów i będę w stanie opakować tę aplikację internetową również jako aplikacje natywne. Ionic wspiera Progressive Web Apps jako jedną z jego flagowych funkcji, dlatego moje pytanie. Coś musiało być wyłączone ... –

Odpowiedz

1

Kiedy myślisz trochę o nim, że to całkiem logiczna, że ​​budowa jest duża. Dzieje się tak, ponieważ wewnątrz kompilacji jest Cordova i wszystkie jej zależności i wtyczki. Ale gdy widzisz, że main.js i main.css są dość duże, to z powodu Cordova, który próbuje umieścić każdą bibliotekę, wtyczki, etc ... w tym samym pliku.

Ale czy możesz przesłać te 2 pliki, aby sprawdzić, czy mam rację. :)

+0

Chodzi o to, że do rozwoju kompilacji byłoby w porządku. Nie mogę sobie wyobrazić, jak na świecie jest to w porządku w przypadku produkcji produkcyjnej aplikacji, która nie zawiera niczego. Czy drżenie drzew nie powodowało upuszczenia całej cordova i wszystkich wtyczek, biorąc pod uwagę, że ich nie używam? Są nawet generowane mapy źródłowe i wiele komentarzy. Plik main.js nie jest nawet zminimalizowany. Nie rozumiem, co się dzieje, ale to nie jest prod build, co jest dziwne, biorąc pod uwagę, że Ionic 2 jest w RC4 .... –

7

użycie jonowy przeglądarka budować --prod

+0

Spójrz na http: // stackoverflow.com/help/how-to-answer –

+0

Nie jestem pewien co do Ionic 2, ponieważ pracowałem tylko z Ionic 1, ale pamiętam, że domyślna akcja kompilacji zawiera dużo kodu używanego do debugowania. Korzystanie z flagi --prod znacznie zmniejszyło rozmiar pliku dla mojej aplikacji Ionic 1, za dni ;-) –

+1

Ionic devs polecają 'npm run build --prod', ale może to być ten sam wynik. –