[Gutenberg] Cấu hình React vào plugin hỗ trợ viết block Gutenberg
https://wolfactive.dev/gutenberg-cau-hinh-react-vao-plugin-ho-tro-viet-block-gutenberg/?fbclid=IwAR3wFUD62L-Y9dD6IvcolyNFndy9_ILlJPxrm8-_ZTF3s1PJKICt7jZMKW4
[Gutenberg] Cấu hình React vào plugin hỗ trợ viết block Gutenberg
Chào mọi người đến với Series lập trình block Gutenberg trong WordPress. Series này giành cho những bạn thích Wordpess nhưng muốn tìm cảm giác làm theme, giao diện WordPress theo hướng mới mẻ không bị nhàm chán, thích làm giao diện trong CMS và trang web với React.
Với bài lần trước mình đã giới thiệu tổng quan về series này. Thì bài viết này sẽ hướng dẫn các bạn tạo plugin và cấu hình React js vào plugin để hỗ trợ viết block Gutenberg
Khởi tạo plugin viết block Gutenberg
Trước tiên các bạn vào folder plugin của wordpress (wp-content/plugins)
tạo folder plugin wa-gutenberg. Sau đó vào thư mục wa-gutenberg tạo file plugin.php và index.php`.
Trong file index.php các bạn sẽ để trống. Còn file plugin.php dùng để khai báo plugin với WordPress. Các bạn thêm đoạn này vào file.
Sau khi điền thông tin trên vào file các bạn vào dashboard plugin của wordpress.
Và đây là thành quả, vậy là chúng ta đã hoàn thành xong bước khởi tạo plugin bước thứ sẽ cấu hình react vào plugin để hỗ trợ viết block gutenberg
Cấu hình React js hỗ trợ viết block Gutenberg
Để cấu hình react vào plugin các bạn tạo file package.json bằng cách bật terminal. Và gõ dòng lệnh sau npm init . Sau khi làm xong các bước mà terminal hướng dẫn các bạn đã có file package,json. Và lưu ý các bạn phải cài node js trước khi thức hiện.
Các ban copy đoạn code sau vào package.json
Sau khi đã copy xong vào file package.json, các bạn chạy lệnh npm install trên terminal tại thư mục plugin. Tuy nhiên cài như vầy thì chưa xong đâu 😁😁😁
Tiếp theo các bạn tạo file .babelrc để cấu hình source của chúng ta có thể complie React Js thành JS ES5.
Bây giờ mới tới file chính để complie code nè. Các bạn tạo file gulpfile.babel.js.
Import các module cần thiết để viết các task cho gulp.
Hàm khai báo và tạo server
Kích hoạt browser-sync -> Tác dụng của browser-sync giúp các bạn khi lưu file trong lúc dev trình duyệt sẽ tự động reload hoặc stream trực tiếp qua browser.
Hàm complie SCSS thành CSS
Trong hàm này nếu như ở môi trường develop, file css được complie sẽ được khi sourcemap đẻ tiền cho việc sửa css, Ở đây mình có 3 file scss.
main.scss để chứa các css cần thiết để sửa theme hay sửa admin bên trong.
editor.scss chứa các css cần thiết cho phần khung editor trong phần editor Gutenberg.
frontend,scss để chứa các css cho các block Gutenberg ngoài giao diện (frontend)
Hàm complie từ React và ES6 sang ES5
Hàm trên cũng như hàm complie từ scss sang css. Có 3 file tương ứng cho 3 mục đích trên. Đồng thời mình khai báo external cho 4 package @wordpress/blocks, @wordpress/i18n, @wordpress/editor, @wordpress/components, vì các package này đã cấu hình sẵn trong WordPress và chúng ta không cần tích hợp vào file js để giảm kích thước js sau khi complie xong. Mình dùng npm cài vào các package trên chủ yếu để IDE có thể truy suất và gợi ý các property, method, function, param có liên quan trong các package đó.
Hàm copy ảnh và nén ảnh
Hàm copy các file cần thiết trong thư mục src
Các hàm cần thiết khác
Khai báo task với gulp
Vậy là để chạy được bộ source này các bạn chỉ cần chạy các lệnh
npm run start -> Chạy môi trường develop
npm run buld -> Build code để đưa code lên server
Tổng kết
Sau khi làm xong file gulpfile.babel.js. Chúng ta khai báo css và js cho WordPress. Mình sẽ hướng dẫn các bạn trong bài kế tiếp Tạo Block Gutenberg đầu tiên Các bạn có thể tham khảo tổng quan về series tại đây Cảm ơn các bạn đã đón đọc. Các bạn có thắc mắc hay có vấn đề cần giải đáp thì hay inbox vào fanpage Wolfactive nhé.
Last updated
Was this helpful?