Hướng dẫn nodejs writefile - tệp ghi nodejs
Mở đầuVới bài trước (https://viblo.asia/p/nodejs-bai-1-hello-world-ORNZqn4Ll0n) mình đã giới thiệu qua và cài đặt Node.js trên các OS khác nhau cũng như đã chạy thử một server Node.js. Trong bài này chúng ta cùng đến với một số thành phần, công cụ cơ bản cụ thể là Modules trong Node.js và xử lý File với fs module nhé. Chúng ta cùng bắt đầu bài viết.fs module nhé. Chúng ta cùng bắt đầu bài viết. Show
1. Node.js modulesNode.js modules là gìModule trong Node.js tuơng tự với các thư viện JavaScript. Nó là một hoặc nhiều chứng năng khác nhau được đóng gói và thêm vào ứng dụng chạy Node.js của chúng ta. Việc chia nhỏ module ra như vậy không cần phải nói thêm nhiều nữa, nó giúp chúng ta dễ dàng quản lý, bảo trì và tái sử dụng code hơn. Chúng ta cũng có thể đóng gói và đẩy lên kho thư viện NPM để mọi người có thể sử dụng nó. Ví dụ nếu chúng ta cần kết nốt tới sql hoặc MongoDB chúng ta sẽ cần tạo các module cho nó và sử dụng lại trong ứng dụng của mình. Để tự tạo một module. Chúng ta viết chúng như những đoạn mã Javascript thông thường. Và sau đó sử dụng module.exports để khai báo với Node.js rằng chúng ta có thể sử dụng nó. Ví dụ dưới đây chúng ta có thể tạo ra một module để thực hiện việc custom console.log để dùng chung một pattern trong ứng dụng:
Để sử dụng lại module trên, chúng ta dùng cú pháp 3 như bên dưới:
Module httpNhư bài trước mọi người cũng có thể thấy mình có sử dụng module 4 để tạo một web server. Mục đích của Web server là xử lý các http requests cho ứng dụng web, ví dụ như Apache là web server cho các ứng dụng web PHP hoặc Java. Chúng ta có thể sử dụng Apache để chạy một ứng dụng web Node.js tuy nhiên vẫn nên dùng Node.js web server.
Module 4 là core module của Node.js vì vậy chúng ta không cần cài đặt thêm từ NPM.2. Node.js FIle SystemCũng như các ngôn ngữ khác, việc xử lý file là điều không thể thiếu cho các ứng dụng. Node.js có một module giúp ta thực hiện truy cập đọc ghi các file trên hệ thống một cách dễ dàng với module 6Đọc FileĐể đọc một file có sẵn trên hệ thống chúng ta sử dụng 7 của module fs.
Kết quả:
Tại sao 1 lại được log ra trước nhỉ =)) Thực ra readFile là để xử lý việc đọc file 1 cách bất đồng bộ (asynchronously) vì vậy nó sẽ được xem như là chạy ngầm tiến trình đọc file này và thực hiện console.log(1) song song. Vậy nếu chúng ta muốn sau khi đọc xong file mới thực hiện console.log(1) thì chúng ta cần đổi 8 thành 9 vậy là chúng ta có thể thực hiền một cách đống bộ việc đọc file với các tiến trình khác : kết quả:
Ghi FileVới thao tác ghi vào File chúng ta có thể ghi đè nội dung file bằng 0 của 6 module.
Kết quả:
Tại sao 1 lại được log ra trước nhỉ =)) Thực ra readFile là để xử lý việc đọc file 1 cách bất đồng bộ (asynchronously) vì vậy nó sẽ được xem như là chạy ngầm tiến trình đọc file này và thực hiện console.log(1) song song. Vậy nếu chúng ta muốn sau khi đọc xong file mới thực hiện console.log(1) thì chúng ta cần đổi 0 sẽ ghi đè nội dung lên file cũ nên mọi người cẩn thận khi dùng nhé.Ghi File
Kết quả:
Tại sao 1 lại được log ra trước nhỉ =)) Thực ra readFile là để xử lý việc đọc file 1 cách bất đồng bộ (asynchronously) vì vậy nó sẽ được xem như là chạy ngầm tiến trình đọc file này và thực hiện console.log(1) song song.: Cả 2 phuơng thức trên cũng là phuơng thức để tạo 1 file mới khi trong hệ thống chúng ta chưa có file với tên đó. Vậy nếu chúng ta muốn sau khi đọc xong file mới thực hiện console.log(1) thì chúng ta cần đổi const Log = require('./log.js') Log.info('The first log') 8 thành const Log = require('./log.js') Log.info('The first log') 9 vậy là chúng ta có thể thực hiền một cách đống bộ việc đọc file với các tiến trình khác : kết quả:Ghi File 1Với thao tác ghi vào File chúng ta có thể ghi đè nội dung file bằng const http = require('http'); const hostname = '127.0.0.1'; const port = 3001; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello, World!\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); 0 của const Log = require('./log.js') Log.info('The first log') 6 module.Tuơng tự với readFile chúng ta cũng sẽ có 2 phục vụ mục đích xử lý đồng bộ. 2Lưu ý: 0 sẽ ghi đè nội dung lên file cũ nên mọi người cẩn thận khi dùng nhé.
Mở file để chèn thêm dữ liệu. Nếu file không tồn tại sẽ tạo mới file
Một số phuơng thức khác với File System mọi người vào đọc thêm ở dưới link này nhé: https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback 3. Kết bàiVới 2 phần cơ bản này chúng ta đang tiến sâu vào kiến thức của Node.js. Mình đã giới thiệu qua về modules trong Node.js, xử lý file với module 6 File System. Hy vọng bài viết đem lại cách dễ dàng để tiếp cận và làm việc với Node.js cho mọi người. Cùng đón đọc những bài viết tiếp theo của mình về Node.js nhé. Cảm ơn mọi người đã theo dõi bài viết nếu thấy hay thì hãy upvote giúp mình nhé Tham khảo: https://www.tutorialsteacher.com/nodejs/nodejs-file-system https://nodejs.org/docs/latest-v15.x/api/ |