1. Nếu load những core modules (được list trên Documentation) thì chỉ cần gọi đúng tên khi load
KHUYẾN KHÍCH đặt tên hằng (const) giống tên module (class)
// fs là file system, xem documentation để biết tên module
const fs = require('fs')
fs.writeFileSync('notes.txt','hehe, tao thanh cong mot file moi')
// ghi tiếp nội dung vào 1 file
fs.appendFileSync('notes.txt', '\nday la dong thu 2')
(2.2) Nếu muốn load module ngoài (ở đây tạm hiểu là function) thì cần dùng hàm require (thay vì include như PHP)
các biến trong file được require là local scope, không sử dụng được ở file hiện tại
cung cấp đường dẫn tương đối đến file được require
Trong app.js:
// chỉ include các hàm độc lập, local scope (nếu có trả về giá trị thì cũng ko lưu)
require ('./function.js')
// nếu trong function.js có trả về giá trị (export) thì ghi vào hằng (name)
const name2 = require ('./function.js')
// nếu trong function.js không trả biến thì dòng này sẽ báo lỗi
console.log('name2')
// nếu trong function.js không trả hàm thì dòng này sẽ báo lỗi
const addFunc = require ('./function.js')
const sum = addFunc(2,3)
console.log(sum);
Trong function.js
// hàm này sẽ hiển thị (thực thi) khi require
console.log('Hien thi cai gì do')
// hằng này nếu không export thì chỉ truy cập được trong file này (ko access từ bên ngoài được)
const name = 'Nghi'
// export giá trị giống return value bên PHP
module.exports = name
// hàm này nếu không export thì ko chạy được bên app.js
const add = function (a,b) {
return a + b
}
// export function cho bất cứ file nào require
module.exports = add
(2.3) Nếu muốn load module từ thư viện npm
Đầu tiên phải initialize npm
chạy ở thư mục chứa app / dự án câu lệnh tạo ra 1 file JSON lưu ở thư mục gốc của dự án, giống như file cấu hình
// đồng ý hết để tạo cấu hình mặc định
npm init
// file package.json được tạo trong thư mục notes-app
{
"name": "notes-app",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Tìm đến thư viện cần cài trên npmjs.com
chạy câu lệnh cài thử validator.js https://www.npmjs.com/package/validator
npm install validator
npm i validator@13.5.2
Sau khi chạy câu lệnh này thì Terminal sẽ làm 3 thứ
Tạo thư mục node_modules chứa tất cả script của thư viện Tạo file package-lock.json chứa cấu hình của thư viện Cập nhật package.json thêm giá trị dependencies, tên libs và version
KHÔNG NÊN ĐỤNG ĐẾN CÁC FILES NÀY
Khi xuất code cho đồng nghiệp, gỡ thư mục node_modules, đồng nghiệp có thể tự cài lại các package trong package.json và package-lock.json bằng cách chạy npm install
"dependencies": {
"validator": "^13.5.2"
}
Để bắt đầu sử dụng lib này thì truyền giá trị vào hằng (thường bây giờ là class)
const validator = require('validator')
// kiểm tra thử một biến bất kỳ xem có phải là URL hoặc email
console.log(validator.isEmail('nghi@me.com'))
// return true
console.log(validator.URL('https://brvn.net'))
// return true
Có thể sử dụng cho dự án PHP, sử dụng JS ở client-side
<script type="text/javascript" src="validator.min.js"></script>
<script type="text/javascript">
validator.isEmail('foo@bar.com'); //=> true
</script>
Tổng hợp bài hôm nay trong 1 file

(2.4) Cài đặt global module trên máy chủ, không có dependencies, chạy trực tiếp từ hệ thống
Ví dụ, cài nodemon để không cần phải chạy lại app.js mỗi lần sửa code. Nodemon sẽ tự restart script khi tháy có thay đổi code.
Lưu ý:
Khi cài global module, thêm hậu tố -g Do liên quan đến hệ thống (cài trên máy chủ), nếu báo lỗi thì thêm sudo (quyền admin)
npm install nodemon -g
sudo npm install nodemon -g
Chạy quài 1 file app.js cho đến khi exit
Cách tạo function