Nguồn : toidicode.com
Ở bài trước chúng ta đã được tìm hiểu về cách khởi tạo một HTTP server bằng module HTTP trong node.js rồi, bài này mình sẽ giới thiệu với mọi người cách đọc ghi file trong node.js với module fs.Mục Lục
1, Module fs là gì?
-Module fs (viết tắt của file system) là một module được tích hợp sẵn trong node.js có chức năng xử lý file, thư mục trong node.js
2, Khai báo sử dụng module fs.
-Cũng giống như các module khác khi chúng ta muốn sử dụng được nó thì chúng ta cần phải require()
nó.
Để require module fs chúng ta sử dụng cú pháp:
require('fs');
-Module fs này chứa rất nhiều các function dùng để xử lý file và thư mục. Để xem dạnh sách các phương thức trong module các bạn chỉ cần console.log()
module ra.
VD:
var fs = require('fs');
console.log(fs);
3, Đọc file với module fs.
-Để đọc file với module fs chúng ta sử dụng phương thức readFile() với cú pháp:
readFile('pathFile', [option], function(err, data) {
//
});
Trong đó:
pathFile
là đường dẫn của file cần đọc.option
có thể là chuỗi hoặc mảng chứa các tùy chọn encode hay mode của file, nếu không cần cấu hình thì mọi người có thể bỏ trống.err
là biến chứa lỗi nếu có.data
là dữ liệu đọc được từ file.
VD: Mình sẽ kết hợp giữa kiến thức của bài trước và bài này để tiến hành đọc code HTML từ một file sang server để hiện thị
Đầu tiên chúng ta sẽ tạo một file code.html
với nội dung như sau:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>toidicode.com</title>
<link rel="stylesheet" href="">
</head>
<style type="text/css" media="screen">
h1{
color: orange;
text-align: center;
}
</style>
<body>
<h1>Chào mừng bạn đã đến với website toidicode.com</h1>
</body>
</html>
Tiếp đó chúng ta cần tạo ra một file server.js
cùng cấp với file code.html
để khởi tạo server và xử lý file.
// khai báo sử dụng module HTTP
var http = require('http');
//Khai báo sử dụng module fs
var fs = require('fs');
//Khởi tạo server chạy cổng 8000
http.createServer(function (req, res) {
//định dang response head trả về
res.writeHead('200', {'content-type': 'text/html'});
//đọc file code.html encode utf8
fs.readFile('code.html', 'utf8', function (err, data) {
if (err) throw err;
// in ra nội dung đọc được
res.write(data);
//kết thúc response
res.end();
});
}).listen(8000);
Sau đó các bạn chạy file server lên và sẽ nhận được kết quả như sau:
4, Ghi file với module fs.
-Để ghi nội dung mới vào một file thì chúng ta sử dụng phương thức writeFile()
với cú pháp:
wireFile('filepath', 'content' , option, callback);
Trong đó:
- filepath là đường dẫn của file cần ghi.
content
là nội dung mà chúng ta muốn ghi vào file.option
có thể là chuỗi hoặc mảng chứa các tùy chọn encode hay mode của file, nếu không cần cấu hình thì mọi người có thể bỏ trống.- callback là đoạn xử lý sau khi ghi file.
VD: Ghi một nội dung vào một file mới có tên writer.html
.
var fs = require('fs');
var content = 'Nội dung này tôi muốn ghi vào file writer.html';
//sử dụng phương thức writeFile để ghi nội dung vào file
fs.writeFile('writer.html', content, 'utf8', function (err) {
//Kiểm tra nếu có lỗi thì xuất ra lỗi
if (err)
throw err;
else //nếu không thì hiển thị nội dung ghi file thành công
console.log('Ghi file thanh cong!');
});
5, Lời kết.
-Như vậy mình đã giới thiệu xong với mọi người cơ bản về module fs trong node.js. Module này mình chỉ giới thiệu cơ bản những thứ mình cảm thấy cần thiết đối với mọi người thôi, còn thực sự thì module này hỗ trợ chúng ta khoảng 50-60 phương thức cơ (xem chi tiết).