2017-01-03 18 views
21

Tôi đã phát triển ở Aurelia-CLI trong khoảng 3 tháng và thích nó cho đến nay. Tôi nghĩ rằng đó là một khuôn khổ vững chắc và rõ ràng là leo thang trong hỗ trợ và sử dụng. Đó là một điều tốt!Aurelia: Webpack, JSPM hoặc CLI?

Trước khi phát triển nhiều ứng dụng lớn hơn, tôi tự hỏi liệu tôi có đang sử dụng hệ thống xây dựng tốt nhất hay không. Tôi chỉ thử Aurelia-CLI và không thực sự quen thuộc với Webpack hay JSPM, và do đó tôi không biết mình đang thiếu gì. Có bất kỳ lợi thế hoặc bất lợi rõ ràng trong việc sử dụng một trong hai hệ thống xây dựng khác, hoặc đang sử dụng CLI cách tiếp cận sạch sẽ và được hỗ trợ nhất? Vì tôi đang phát triển độc lập, tôi không có bất kỳ ràng buộc bên ngoài nào.

Cảm ơn sự giúp đỡ của bạn.

Trả lời

35

Aurelia CLI

Aurelia CLI là rất tốt để bắt đầu. Điều quan trọng là phải hiểu rằng trong phạm vi CLI đang sử dụng require.js nhưng ủy quyền cấu hình thông qua aurelia.json trong ứng dụng của bạn. Điều này có nghĩa là bạn cần phải hiểu cách cấu hình aurelia để làm việc với require.js tại thời điểm này. Một khi bạn cần phải bắt đầu cấu hình để phù hợp với công việc của bạn hoặc thay đổi các bước xây dựng lên nó được một chút cồng kềnh vào lúc này. Chúng tôi đang làm việc để cải thiện điều này. Có nhiều tính năng được lên kế hoạch cho Aurelia CLI nhưng được đưa ra tại thời điểm viết rằng nó ở trạng thái alpha/beta, nó thường được sử dụng trên bằng chứng về khái niệm hoặc các ứng dụng nhỏ hơn, chứ không phải ứng dụng quy mô lớn sẵn sàng sản xuất.

WebPack

WebPack được cho là đứa trẻ nổi tiếng nhất trên khối vào lúc này. WebPack là không phải là trình tải mô-đun, mà là trình bao gói. Điều quan trọng là phải hiểu điều này bởi vì trong khi chúng tôi cố gắng làm cho Aurelia hoạt động tốt với tất cả trình tải mô-đun WebPack theo mặc định không chịu trách nhiệm tải mô-đun, do đó ứng dụng được tải động yêu cầu nhà phát triển mở rộng. WebPack mạnh mẽ trong việc tạo các gói được tối ưu hóa và có thể dễ sử dụng miễn là bạn cảm thấy thoải mái với cấu hình WebPack. WebPack có nhiều ngôi sao GitHub đáng kể hơn do sự phổ biến từ React sử dụng WebPack rất khó để nói liệu lựa chọn có tốt hơn không khi sử dụng Aurelia đơn giản chỉ vì số lượng ngôi sao GitHub.

JSPM/System.js

Một số bộ xương sử dụng JSPM và System.js. Lý do là đây là những giải pháp gần nhất với 'spec compliant'. JSPM cố gắng giúp đỡ càng nhiều càng tốt khi tải từ JSPM registry. Nếu chưa có trong sổ đăng ký, bạn có thể tải trực tiếp từ NPM hoặc GitHub. Từ góc độ tải mô-đun, bạn sử dụng tệp config.js được (thường) tự động duy trì khi cài đặt các phụ thuộc để cải thiện luồng công việc của nhà phát triển.

Side thiên vị lưu ý

Trên hầu hết các ứng dụng lớn hơn ở thời điểm tôi thường thích sử dụng JSPM/System.js chỉ đơn giản bởi vì tôi có một sự hiểu biết lớn của dụng cụ và thích kiểm soát mà tôi đang cung cấp. Tôi làm việc trên một số lượng lớn các ứng dụng Aurelia đang được sản xuất và thường dành CLI cho các ứng dụng khái niệm nhỏ hơn và WebPack là một lựa chọn tuyệt vời nhưng tôi thích sự linh hoạt và sự hiểu biết tôi có với JSPM/System.js tại thời điểm này.

+1

Câu trả lời này sẽ nhận được nhiều phiếu vượt trội hơn của tôi! –

9

CLI hiện không hoàn chỉnh tính năng, nhưng nó là một thiết lập đơn giản hơn nhiều. Webpack về cơ bản có thể làm bất cứ điều gì bạn muốn làm, nhưng bạn sẽ duy trì cấu hình webpack của bạn cũng giống như bạn duy trì mã Aurelia của mình.

Ok, có thể không chỉ là nhiều, nhưng bạn sẽ phải học Webpack để sử dụng webpack. Aurelia CLI rất đơn giản để bắt đầu, nhưng có một số hạn chế nhất định. Ví dụ, các tệp CSS tham khảo tài nguyên bên ngoài sẽ không hoạt động với Aurelia CLI, nhưng chúng sẽ hoạt động tốt với Webpack.

+0

Bạn có thể xây dựng hoặc đưa ra ví dụ về một * tài nguyên bên ngoài * mà sẽ không chơi tốt đẹp với aurelia cli? –

+2

Ví dụ: tệp CSS tham chiếu đến tệp hình ảnh –

1

Trước tiên, tôi có thể hiểu được nếu bài đăng này bị tắt do subjective nature.

Tôi tin rằng đã đến lúc phải truy cập lại các câu trả lời về Aurelia CLI là công cụ hạng hai. Tôi tôn trọng cả hai PW KadAshley Grant vô cùng, nhưng tôi chỉ không bị thuyết phục rằng một tuyên bố như thế này là đúng sự thật nữa:

Có rất nhiều tính năng lên kế hoạch cho Aurelia CLI nhưng đưa ra ở thời điểm viết này rằng nó là ở trạng thái alpha/beta, nên thường được sử dụng trên bằng chứng về khái niệm hoặc các ứng dụng nhỏ khác, chứ không phải là các ứng dụng quy mô lớn sẵn sàng sản xuất.

Đáng chú ý, tôi có một ứng dụng sản xuất theo cách đó trở lại trong ngày tôi bắt đầu với Aurelia CLI và thay đổi nó thành JSPM chính xác vì những lý do được ghi nhận. Nhưng gần đây, tôi đã xây dựng lại cùng một ứng dụng từ đầu bằng cách sử dụng CLI và tôi nhận ra rằng nó dễ sử dụng hơn nhiều, đặc biệt là quản lý các mô-đun và xuất bản! Và đây là một ứng dụng với Google Maps, Google Analytics, Auth0, DevExpress, Bootstrap, v.v.

Chỉ cần nghĩ rằng đã đến lúc đưa Aurelia CLI một chút tình yêu. Nó đã sẵn sàng.

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