Server-Side development with NodeJS, Express, and MongoDB
Câu hỏi của môn
fs.readFileSync()fs.readFile()fs.open()fs.load()Trong Node.js, để đọc một tệp tin theo cách không đồng bộ, bạn cần sử dụng hàm fs.readFile(). Hàm này cho phép bạn đọc nội dung của một tệp tin mà không cần phải chờ đợi cho đến khi tệp tin được đọc xong. Điều này giúp tăng hiệu suất và khả năng xử lý của ứng dụng. Hàm fs.readFile() nhận vào hai tham số: tên tệp tin và một hàm callback. Hàm callback sẽ được gọi khi tệp tin được đọc xong, và nó sẽ nhận vào hai tham số: lỗi (nếu có) và nội dung của tệp tin. Ví dụ:
fs.readFile('tên_tệp_tin.txt', 'utf8', (err, data) => {
if (err) console.error(err); else console.log(data);
});
new events.EventEmitter();
emitter.on('event', () => console.log('Event triggered'));
emitter.emit('event');
console.log('End');Để kiểm tra một file có tồn tại hay không, bạn có thể sử dụng phương thức bất đồng bộ (asynchronous) của module fs. Trong đó, phương thức
fs.exists(filePath, function(exists) {
...
}); là một trong những phương thức được sử dụng phổ biến. Phương thức này sẽ kiểm tra xem file tại đường dẫn filePath có tồn tại hay không, và nếu tồn tại thì sẽ trả về giá trị true, ngược lại sẽ trả về false. Ngoài ra, bạn cũng có thể sử dụng phương thức
fs.access(filePath, fs.constants.F_OK, (err) => {
...
}); để kiểm tra file có tồn tại hay không, nhưng phương thức này sẽ trả về một lỗi nếu file không tồn tại.
fshttpurlnetAngularNodeJSReactVueJSusing JSON. Identify which parts are responsible for serialization and deserialization. const obj = {
name: "Alice", age: 25
}; const serializedObj = JSON.stringify(obj); const deserializedObj =
JSON.parse(serializedObj);
console.log(serializedObj);// {"name":"Alice","age":25} console.log(deserializedObj); // { name: 'Alice', age: 25 }
http.createServer((req, res) => {
const parsedUrl = url.parse(req.url, true); if (parsedUrl.pathname === '/') {
const name = parsedUrl.query.name; res.writeHead(200, {
'Content-Type': 'text/plain'
}
); res.end(`Hello, ${
name || 'Guest'
}
!`);
}
else {
res.writeHead(404); res.end('Not found');
}
});
server.listen(8080);GETPUTPATCHDELETEif the user visits /welcome? app.get('/welcome', (req, res) => {
res.send("Hello, Express!");
});
Trong Node với Express, `app.use(express.json())` có tác dụng giải quyết các yêu cầu JSON. Khi một yêu cầu được gửi đến ứng dụng Express, nó sẽ được kiểm tra xem có chứa dữ liệu JSON hay không. Nếu có, Express sẽ giải quyết dữ liệu đó thành một đối tượng JavaScript có thể sử dụng. Điều này cho phép bạn dễ dàng truy cập và xử lý dữ liệu JSON trong ứng dụng của mình. Ví dụ, nếu bạn có một yêu cầu POST với một cơ thể JSON như sau:
{
"name": "John",
"age": 30
}, Express sẽ giải quyết nó thành một đối tượng như sau:
{
name: 'John',
age: 30
}. Điều này giúp bạn dễ dàng truy cập và xử lý dữ liệu JSON trong ứng dụng của mình.
app.get('/', (req, res) => {
throw new Error('Test error');
});
app.listen(3000);