Post bài viết mới ở static web như thế nào

Em chào anh chị,

Em định làm web theo mô hình JAM stack dạng static file (chỉ html/css/js không backend, không database) em không biết mỗi khi thêm bài viết mới thì thực hiện như thế nào, cụ thể là ví dụ như web đang có 100 bài viết hoàn chỉnh mỗi khi thêm bài viết mới thì add thêm file bài viết 101 vào host đang chứa 100 bài viết hiện có (100 topic kia không bị ảnh hưởng) hay là buid tại máy dev (localhost) lại toàn bộ source code của project từ đầu đến cuối rồi mới xóa hết data trong hosting để upload source code vừa build đó lại từ đầu?

Chúc giáng sinh vui vẻ!

với những câu hỏi mà bạn có khả năng tự kiểm chứng thì bạn nên tự làm, bạn đã biết bạn cần làm gì rồi, thì sao không thử cả 2 cách rồi tự rút ra kinh nghiệm cho mình, thời gian để bạn chờ câu trả lời thì bạn đã tự kiểm chứng xong rồi

10 Likes

Mình chia sẻ quan niệm này. Mọi thứ có trong tay, búa và đinh sẵn đó mà không đóng một phát còn đi hỏi là hỏi cái gì, không thể hiểu được!. Cái này mới nhớ đợt nghe tư vấn tâm lý trên đài, cặp kia cưới về đến lúc… ấy ấy mà gã chồng còn gọi điện hỏi chuyên gia khiến chuyên gia phải nói rằng cảm thấy không muốn tư vấn.

7 Likes

Em code bằng nextJS framework, mỗi khi build ra sản phẩm để deploy thì build trên máy dev khá lâu.

Em áp dụng cách này. Vì nó là cách làm thông thường. source code build ra file JS đã được optimal nên người không đọc được, vì vậy nếu muốn chỉnh sửa 1 dấu phẩy sẽ phải build lại từ đầu. Cách này dùng được nhưng em không biết có đúng với quy trình thực tế không vì ngoài kia rất có rất nhiều web build theo mô hình này

Em nghĩ là họ sẽ không làm cách như em mà phải có cách gì đó tối ưu (mà là gì thì em không biết) để quản lý được số lượng bài viết lớn.

Cách này nghe có vẻ tối ưu nhưng thực tế nếu source trên hosting toàn là HTML, CSS, JS thuần không thư viên, không framework thì áp dụng được. Còn code bằng một framework chuyên dựng static web thì không được vì source code upload lên host là source code đã được build ra, optimal rồi (Typescript chuyển thành js, đổi tên biến js, xóa hết khoảng trắng js, CSS, …) không thể connect FTP chọc vào chỉnh sửa trực tiếp như PHP được nên mỗi lần chỉnh sửa phải vào git clone project về rồi edit sau đó mới build và deploy lại từ đầu.

Đó là vấn đề em đang gặp phải ạ

1 Like

vậy chốt lại là không được rồi
và vấn đề này xuất phát từ tech stack mà bạn chọn (hoặc thậm chí tech stack không có vấn đề, chỉ là design/code có vấn đề)

trở lại với mục đích của bạn. bạn đang cảm thấy mỗi lần muốn update web thì phải build + deploy khá lâu, bạn đang nghĩ là cách bạn làm chưa hay, muốn hỏi/tìm một cách khác nó hay hơn?

nếu với mục đích như vậy, bạn phải nêu lên vấn đề một cách rõ ràng hơn, bạn đang dùng những stack gì? JAM nó chỉ là một mô hình chứ không phải công nghệ gì cụ thể cả.
Bài viết của bạn không có mô tả một vấn đề cụ thể nào cả?html thuần, hay dùng framework để build? framework gì? page thứ 101 của bạn có tương đồng hay không hay là một static mới hoàn toàn??? và trông như bạn đã thừa biết cách thêm file 101 là không hợp lý, vậy thì đâu có gì để phân vân

nói vớ vẫn nãy giờ có vẻ như chưa giúp gì được cho bạn,
vậy hỏi lại bạn, nếu dùng cách build lại thì bạn build như thế nào, deploy như thế nào, thời gian cho mỗi bước là bao lâu?

9 Likes

Gợi ý nhỏ: JAM là từ viết tắt của Javascript, API và Markup

9 Likes

Sao mà đi trang bị những thứ rối rắm quá đi mất. Nếu chỉ để làm trang web static như viết blog mà không phải là đang luyện viết code/ lập trình thì cách đơn giản đó là mỗi bài viết đơn giản là một file .txt chứa một đoạn mã HTML. Ta cứ upload file này lên một thư mục, và bên trang web thì ta cứ “include” nó vào thôi vì nếu đã học JavaScript đến đoạn Ajax thì làm việc này trong tầm tay. JavaScript tự nó không biết có sự tồn tại của một file upload lên thì làm cho nó một file JSON, mỗi lần upload 1 file mới thì thêm vào file JSON vài dòng mô tả để JavaScript biết có bài mới.

8 Likes

Cảm ơn bác, quyết định cuối cùng của em là dùng framework Nextjs để làm bộ khung cho web và hiện thực phần router, animation, validate, … Tạo 1 thư mục chứa tất cả file HTML,dùng NextJS để load nội dung các file trong này để lấy contents. Mỗi khi viết bài mới thì dùng một text editor bên ngoài như CKEditor chạy local để viết bài sau đó xuất ra HTML thuần, upload lên host.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?