2017-01-10 13 views
6

Vì vậy, tôi mới đến Ionic, và có thể thiếu một cái gì đó. Nhưng tôi bắt đầu một ứng dụng trống mới như vậy:Tại sao xây dựng Ionic 2 quá lớn, ngay cả đối với các ứng dụng nhỏ/trống?

ionic start BlankApp --v2 blank

sau đó thêm vào một nền tảng trình duyệt:

cordova platform add browser

và sau đó xây dựng phục vụ sản xuất:

ionic build browser

Các đầu ra trông như sau:

> [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 

Tôi đã mong đợi một gói js nhỏ cho rằng ứng dụng này không có gì trong đó. Rắc rối cây được cho là đã giảm rất nhiều mã và ứng dụng được cho là, tôi nghĩ, nhưng phải nhanh nhẹn.

Thật không may, đó không phải là những gì đã xảy ra.

Thư mục platforms/browser/www/build/js có tệp main.js có kích thước hơn 4MB. Ngoài ra còn có một tệp main.css với 500Kb nội dung.

Tôi đang thiếu gì? Tôi đang tìm sai chỗ?

** CẬP NHẬT: ** Vấn đề của tôi là tôi đang cố gắng xây dựng một ứng dụng web tiến bộ. Nếu tôi chỉ muốn xây dựng một ứng dụng dành cho thiết bị di động, điều đó sẽ ổn thôi. Nhưng đối với một ứng dụng web để tải xuống 4MB nội dung trước khi thậm chí đếm nội dung của riêng nó là điên rồ, tôi không thể tin rằng đó là trạng thái của liên minh trên bản phát hành RC4.

Cảm ơn bạn,

Eduardo

+0

Nếu bạn đang làm một ứng dụng web, bạn nên có lẽ chỉ mã nó trong HTMJ tinh khiết + JS + CSS, thay vì sử dụng ion. Nó sẽ giúp bạn tiết kiệm rất nhiều không gian, và có lẽ rất nhiều rắc rối. Tôi không nghĩ Ionic hay Cordova có ý nghĩa gì cả. –

+0

Tôi đã hy vọng có một codebase và có thể bọc ứng dụng web đó làm ứng dụng gốc. Ionic đã hỗ trợ cho Progressive Web Apps là một trong những tính năng hàng đầu của nó, do đó, câu hỏi của tôi. Một cái gì đó phải được tắt ... –

Trả lời

1

Khi bạn nghĩ một chút về nó, nó khá logic xây dựng của bạn là lớn. Đó là bởi vì, bên trong xây dựng, có Cordova và tất cả các phụ thuộc và bổ sung của nó. Nhưng khi bạn thấy rằng main.jsmain.css là khá lớn, đó là vì Cordova đang cố gắng đưa mọi thư viện, plugin, v.v ... vào cùng một tệp.

Nhưng, bạn có thể tải lên 2 tệp đó hay không, chỉ để xem tôi có đúng không. :)

+0

Vấn đề là, đối với một xây dựng phát triển sẽ ổn thôi. Tôi không thể tưởng tượng như thế nào trên thế giới này là OK cho một sản xuất xây dựng của một ứng dụng mà không có gì trong đó. Không phải là cây lắc có nghĩa vụ phải thả tất cả cordova và tất cả các plugin, vì tôi không sử dụng chúng? Thậm chí còn có các bản đồ nguồn được tạo ra và nhiều nhận xét. Main.js thậm chí không được rút gọn. Tôi không hiểu những gì đang xảy ra, nhưng đây không phải là một bản xây dựng mà là lạ cho rằng Ionic 2 là trong RC4 .... –

7

sử dụng ion xây dựng trình duyệt --prod

+0

Hãy xem http: // stackoverflow.com/help/how-to-answer –

+0

Tôi không chắc chắn về Ionic 2 vì tôi chỉ làm việc với Ionic 1, nhưng tôi có thể nhớ rằng hành động xây dựng mặc định bao gồm rất nhiều mã được sử dụng để gỡ lỗi. Sử dụng cờ --prod giảm đáng kể kích thước tệp cho ứng dụng Ionic 1 của tôi, quay lại trong ngày ;-) –

+1

Trình phát Ionic đề xuất 'npm run build --prod' nhưng có thể là kết quả tương tự. –

Các vấn đề liên quan