Skip to content

Latest commit

 

History

History
117 lines (116 loc) · 5.93 KB

Knowledge_2.md

File metadata and controls

117 lines (116 loc) · 5.93 KB

Chapter 2

Things I learned In this project


📗 6. NextJS workflow

❗ Information

🌟 Usage

Luồng đi của NextJS NextJS có 3 files cơ bản rất quan trọng cho việc Routing và SSR: _app.js, _document.js, index.js (/) Luồng đi: _document.js->_app.js->index.js(/) / pages

  • _document.js: Chuyên để add các link cho Header như link font, CDN style, như bootstrap
  • _app.js: NextJS sử dụng _app.js để bắt đầu tiền xử lý page như
    • áp dụng Global Style
    • Validation isLogin,
    • Global state management
    • Giữ 1 layout hay component gì đó persistent(xuyên suốt)
    • ...
  • index.js(/) và các pages khác: Đây là nơi render nội dung

🌟 Type

Codebase - Advanced Override

🌟 Prerequisite

Tất cả các files trên phải được bỏ trong folder pages(VD: pages/_app.js)

🌟 Setup

🌟 Rating

😶 😮 😯 😦

📌 Noted

Phải linh hoạt trong việc custom _document và _app, tùy từng loại style như tailwind hay styled-components của repo này mà cách config sẽ khác nhau, có thể vô tận source NextJS trên git để coi demo từng loại


📗 7. Get Device Type

❗ Information

🌟 Usage

Làm cho việc responsive trở nên dễ hơn với global setting dựa vào element cố định mà package này cung cấp sẵn

🌟 Type

Helpers - Responsive

🌟 Prerequisite

yarn add mobile-detect

🌟 Setup

🌟 Rating

😶 😮

📌 Noted

Hiểu rõ về SSR, tránh side-effects của người dùng, behaviour lạ, không được lạm dụng ở nhiều nơi, khuyến nghị chỉ sử dụng ở rendered page


📗 8. Global Responsive

❗ Information

🌟 Usage

Kĩ thuật làm responsive global đặc biệt hữu dụng cho thiết kế grid và flexbox

🌟 Type

Codebase - Styling - Responsive setup

🌟 Prerequisite

Am hiểu về Flexbox: Tỉ lệ flex-start, flex-end
Am hiểu về grid: Grid fraction
Hiểu cách sử dụng Get Device Type

🌟 Setup

🌟 Rating

😶 😮 😯

📌 Noted

Setup global responsive rất quan trọng giúp cho layout thống nhất, dễ maintain hơn (cảm giác như xài lib chỉ việc thay số 1 2 3,...), nghiên cứu kĩ project để hiểu rõ thêm các advanced usage


📗 9. Override Styling Library

❗ Information

🌟 Usage

Override các styling library để custom khá quan trọng, về cả mặt UI lẫn UX, ở đây sẽ tập trung nói về UI của Antd

🌟 Type

Library - Styling

🌟 Prerequisite

Tích hợp các library styling như Material-UI, BS4, Antd

🌟 Setup

🌟 Rating

😶 😮 😯

📌 Noted

Sử dụng styling library giúp tăng tốc độ code đáng kể nhưng quan trọng nhất là mình biết cách làm chủ nó chứ không quá máy móc phụ thuộc nó


📗 10. Absolute Import

❗ Information

🌟 Usage

Việc sử dụng absolute import giúp giải quyết các vấn đề static path rất hiệu quả cho SEO, gọn gàng, dễ maintain đặc biệt trong các dự án scale lớn

🌟 Type

Codebase - Config - Alias - linter

🌟 Prerequisite

yarn add -D eslint-plugin-import

🌟 Setup

Config chuẩn alias phải thỏa mãn 3 yếu tố:

🌟 Rating

😶 😮 😯

📌 Noted

Với SSR thì Absolute Path đặc biệt hữu ích cho SEO, với NextJS support hết mình cho việc này thì chúng ta nên tận dụng điều trên