Laravel Mix, một gói được phát triển bởi Jeffrey Way, người tạo ra Laracasts, cung cấp API thông thạo để xác định các bước xây dựng webpack cho ứng dụng Laravel của bạn bằng cách sử dụng một số bộ xử lý trước CSS và JavaScript phổ biến
Nói cách khác, Mix làm cho việc biên dịch và thu nhỏ các tệp CSS và JavaScript của ứng dụng của bạn trở nên dễ dàng. Thông qua chuỗi phương thức đơn giản, bạn có thể xác định thành thạo quy trình tài sản của mình. Ví dụ
mix.js['resources/js/app.js', 'public/js']
.postCss['resources/css/app.css', 'public/css'];
Nếu bạn đã từng bối rối và choáng ngợp khi bắt đầu với webpack và biên dịch nội dung, thì bạn sẽ thích Laravel Mix. Tuy nhiên, bạn không bắt buộc phải sử dụng nó trong khi phát triển ứng dụng của mình;
Mặc dù Laravel không chỉ định bạn sử dụng bộ tiền xử lý JavaScript hay CSS nào, nhưng nó cung cấp một điểm khởi đầu cơ bản bằng cách sử dụng Bootstrap và Vue sẽ hữu ích cho nhiều ứng dụng. Theo mặc định, Laravel sử dụng NPM để cài đặt cả hai gói giao diện người dùng này
Laravel Mix cung cấp một API rõ ràng, biểu cảm qua việc biên dịch SASS hoặc Ít hơn, là các phần mở rộng của CSS đơn giản có thêm các biến, mixin và các tính năng mạnh mẽ khác giúp làm việc với CSS thú vị hơn nhiều. Trong tài liệu này, chúng ta sẽ thảo luận ngắn gọn về việc biên dịch CSS nói chung;
Laravel không yêu cầu bạn sử dụng một framework hoặc thư viện JavaScript cụ thể để xây dựng các ứng dụng của bạn. Trên thực tế, bạn hoàn toàn không phải sử dụng JavaScript. Tuy nhiên, Laravel có bao gồm một số giàn giáo cơ bản để giúp bạn bắt đầu viết JavaScript hiện đại dễ dàng hơn bằng thư viện Vue. Vue cung cấp API biểu cảm để xây dựng các ứng dụng JavaScript mạnh mẽ bằng cách sử dụng các thành phần. Cũng như CSS, chúng ta có thể sử dụng Laravel Mix để dễ dàng biên dịch các thành phần JavaScript thành một tệp JavaScript duy nhất, sẵn sàng cho trình duyệt
Loại bỏ Giàn giáo Frontend
Nếu bạn muốn xóa giàn giáo giao diện người dùng khỏi ứng dụng của mình, bạn có thể sử dụng lệnh Artisan
0. Lệnh này, khi được kết hợp với tùy chọn
1, sẽ loại bỏ giàn giáo Bootstrap và Vue khỏi ứng dụng của bạn, chỉ để lại một tệp SASS trống và một số thư viện tiện ích JavaScript phổ biếnViết CSS
Tệp Laravel
2 bao gồm gói ________ 13 để giúp bạn bắt đầu tạo mẫu giao diện người dùng của ứng dụng bằng Bootstrap. Tuy nhiên, vui lòng thêm hoặc xóa các gói khỏi tệp
2 nếu cần cho ứng dụng của riêng bạn. Bạn không bắt buộc phải sử dụng khung Bootstrap để xây dựng ứng dụng Laravel của mình - nó được cung cấp như một điểm khởi đầu tốt cho những ai chọn sử dụng nóTrước khi biên dịch CSS của bạn, hãy cài đặt các phần phụ thuộc giao diện người dùng của dự án bằng trình quản lý gói Node [NPM]
Khi các phần phụ thuộc đã được cài đặt bằng cách sử dụng
5, bạn có thể biên dịch các tệp SASS của mình thành CSS đơn giản bằng cách sử dụng. Lệnh
6 sẽ xử lý các hướng dẫn trong tệp
7 của bạn. Thông thường, CSS đã biên dịch của bạn sẽ được đặt trong thư mục
0
7 mặc định đi kèm với Laravel sẽ biên dịch tệp
2 SASS. Tệp
3 này nhập một tệp gồm các biến SASS và tải Bootstrap, cung cấp một điểm khởi đầu tốt cho hầu hết các ứng dụng. Vui lòng tùy chỉnh tệp
3 theo bất kỳ cách nào bạn muốn hoặc thậm chí sử dụng một bộ tiền xử lý hoàn toàn khác bằng cách định cấu hình Laravel MixViết JavaScript
Tất cả các phụ thuộc JavaScript mà ứng dụng của bạn yêu cầu có thể được tìm thấy trong tệp
2 trong thư mục gốc của dự án. Tệp này tương tự như tệp
6 ngoại trừ nó chỉ định phần phụ thuộc JavaScript thay vì phần phụ thuộc PHP. Bạn có thể cài đặt các phụ thuộc này bằng trình quản lý gói Node [NPM]{tip} Theo mặc định, tệp Laravel
2 bao gồm một số gói như
8 và
9 để giúp bạn bắt đầu xây dựng ứng dụng JavaScript của mình. Vui lòng thêm hoặc xóa khỏi tệp
2 nếu cần cho ứng dụng của riêng bạn
Khi các gói được cài đặt, bạn có thể sử dụng lệnh
6 để biên dịch nội dung của mình. Webpack là gói mô-đun cho các ứng dụng JavaScript hiện đại. Khi bạn chạy lệnh
6, Webpack sẽ thực hiện các hướng dẫn trong tệp
7 của bạnTheo mặc định, tệp Laravel
7 biên dịch SASS của bạn và tệp
05. Trong tệp
06, bạn có thể đăng ký các thành phần Vue của mình hoặc, nếu bạn thích một khung khác, hãy định cấu hình ứng dụng JavaScript của riêng bạn. JavaScript đã biên dịch của bạn thường sẽ được đặt trong thư mục
07{tip} Tệp
06 sẽ tải tệp
09 khởi động và định cấu hình Vue, Axios, jQuery và tất cả các phụ thuộc JavaScript khác. Nếu bạn có các phụ thuộc JavaScript bổ sung để định cấu hình, bạn có thể làm như vậy trong tệp này
Viết các thành phần Vue
Theo mặc định, các ứng dụng Laravel mới chứa một thành phần Vue
10 nằm trong thư mục
11. Tệp
10 là một ví dụ về một thành phần Vue tệp duy nhất xác định mẫu JavaScript và HTML của nó trong cùng một tệp. Các thành phần tệp đơn cung cấp một cách tiếp cận rất thuận tiện để xây dựng các ứng dụng dựa trên JavaScript. Thành phần ví dụ được đăng ký trong tệp
06 của bạn________số 8Để sử dụng thành phần trong ứng dụng của bạn, bạn có thể thả nó vào một trong các mẫu HTML của mình. Ví dụ: sau khi chạy lệnh
14 Artisan để dàn dựng màn hình đăng ký và xác thực ứng dụng của bạn, bạn có thể thả thành phần này vào mẫu
15 Blade
{tip} Hãy nhớ rằng, bạn nên chạy lệnh
6 mỗi khi thay đổi thành phần Vue. Hoặc, bạn có thể chạy lệnh
17 để theo dõi và tự động biên dịch lại các thành phần của mình mỗi khi chúng được sửa đổi
Nếu bạn quan tâm đến việc tìm hiểu thêm về cách viết các thành phần Vue, bạn nên đọc tài liệu về Vue, tài liệu này cung cấp tổng quan toàn diện, dễ đọc về toàn bộ khung Vue
Sử dụng phản ứng
Nếu bạn thích sử dụng React để xây dựng ứng dụng JavaScript của mình, Laravel giúp bạn dễ dàng hoán đổi khung Vue với khung React. Trên bất kỳ ứng dụng Laravel mới nào, bạn có thể sử dụng lệnh
0 với tùy chọn
19Lệnh đơn này sẽ loại bỏ khung Vue và thay thế nó bằng khung React, bao gồm một thành phần ví dụ