Các mô-đun là một khái niệm quan trọng để hiểu Node. dự án js. Trong bài đăng này, chúng tôi đề cập đến các mô-đun Node.
16,
17 và, tương lai
npm install express1
Các mô-đun nút cho phép bạn viết mã có thể tái sử dụng. Bạn có thể lồng chúng vào trong một cái khác. Sử dụng Trình quản lý gói nút [NPM], bạn có thể xuất bản các mô-đun của mình và cung cấp chúng cho cộng đồng. Ngoài ra, NPM cho phép bạn sử dụng lại các mô-đun được tạo bởi các nhà phát triển khác
Chúng tôi đang sử dụng Nút 12. x để biết các ví dụ và cú pháp ES6+. Tuy nhiên, các khái niệm có giá trị cho bất kỳ phiên bản
Trong phần này, chúng ta sẽ đề cập đến cách tạo các mô-đun Node và từng thành phần của nó.
- Yêu cầu
- xuất khẩu
- mô-đun [mô-đun. xuất khẩu so với. xuất khẩu]
- Nhập khẩu
Yêu cầu
16 được sử dụng để tiêu thụ các mô-đun. Nó cho phép bạn bao gồm các mô-đun trong chương trình của mình. Bạn có thể thêm Nút lõi tích hợp. js, mô-đun dựa trên cộng đồng [
npm install express3] và mô-đun cục bộ
Giả sử chúng ta muốn đọc một tệp từ hệ thống tệp. Nút có một mô-đun lõi gọi là 'fs'
1
2
3
4
5
6
const fs = require['fs'];
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
Như bạn có thể thấy, chúng tôi đã nhập mô-đun “fs” vào mã của mình. Nó cho phép chúng tôi sử dụng bất kỳ chức năng nào được đính kèm với nó, chẳng hạn như “readFile” và nhiều chức năng khác
Hàm
16 sẽ tìm kiếm các tệp theo thứ tự sau
- Nút lõi tích hợp. js [như
npm install express
5] - Mô-đun NPM. Nó sẽ tìm trong thư mục
npm install express
3 - Mô-đun cục bộ. Nếu tên mô-đun có
npm install express
7,npm install express
8 hoặcnpm install express
9, nó sẽ tìm thư mục/tệp trong đường dẫn đã cho. Nó phù hợp với các phần mở rộng tập tin.1
0,1
1,1
2,1
3,1
4 và1
5
Bây giờ chúng ta hãy giải thích từng chi tiết nhỏ hơn với
Mô-đun tích hợp
Khi bạn cài đặt nút, nó sẽ đi kèm với nhiều mô-đun tích hợp. Nút đi kèm với pin đi kèm;]
Một số mô-đun lõi được sử dụng nhiều nhất là
- fs. Cho phép bạn thao tác [tạo/đọc/ghi] tệp và thư mục
- đường dẫn. các tiện ích để làm việc với các tệp và đường dẫn thư mục
- http. tạo máy chủ HTTP và máy khách để phát triển web
- url. các tiện ích để phân tích cú pháp URL và trích xuất các phần tử từ nó
Những thứ này bạn không cần phải cài đặt, bạn có thể nhập chúng và sử dụng chúng trong các chương trình của mình
Mô-đun NPM
Mô-đun NPM là mô-đun của bên thứ 3 mà bạn có thể sử dụng sau khi cài đặt chúng. Đến tên một vài
- lodash. một tập hợp các hàm tiện ích để thao tác với mảng, đối tượng và chuỗi
- lời yêu cầu. Máy khách HTTP dễ sử dụng hơn mô-đun
1
6 tích hợp - bày tỏ. Máy chủ HTTP để xây dựng trang web và API. Một lần nữa, sử dụng đơn giản hơn mô-đun
1
6 tích hợp
Những thứ này bạn phải cài đặt chúng trước, như thế này
1
npm install express
và sau đó bạn có thể tham khảo chúng giống như các mô-đun tích hợp, nhưng lần này chúng sẽ được cung cấp từ thư mục
npm install express3 chứa tất cả các thư viện của bên thứ 3
1
npm install express5
Tạo các mô-đun Nodejs của riêng bạn
Nếu bạn không thể tìm thấy thư viện tích hợp hoặc bên thứ 3 làm những gì bạn muốn, bạn sẽ phải tự phát triển nó. Trong các phần sau, bạn sẽ học cách thực hiện điều đó bằng cách sử dụng
17
xuất khẩu
Từ khóa
17 cho bạn cơ hội “xuất khẩu” các đối tượng và phương thức của mình. Hãy làm một ví dụvòng kết nối. js
npm install express8
npm install express9
Trong mã bên dưới, chúng tôi đang xuất các hàm
npm install express51 và
npm install express52. Chúng tôi đã xác định hằng số
npm install express53, nhưng điều này chỉ có thể truy cập được trong mô-đun. Chỉ các phần tử được liên kết với
17 có sẵn bên ngoài mô-đun
Vì vậy, chúng ta có thể sử dụng nó bằng cách sử dụng
16 trong một tệp khác như sauchính. js
1
2
3
4
5
6
16
Lưu ý rằng lần này chúng tôi đặt tiền tố tên mô-đun bằng
npm install express7. Điều đó chỉ ra rằng mô-đun là một tệp cục bộ
Trình bao bọc mô-đun
Bạn có thể nghĩ về từng Nút. js dưới dạng một hàm độc lập như sau
Trình bao bọc mô-đun1
2
3
4
5
6
const fs = require['fs'];1
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
Chúng tôi đã đề cập đến
17 và
16. Lưu ý mối quan hệ giữa
npm install express59 và
17. Họ trỏ đến cùng một tài liệu tham khảo. Tuy nhiên, nếu bạn chỉ định trực tiếp thứ gì đó cho
17, bạn sẽ phá vỡ liên kết của nó với
npm install express59 — thông tin chi tiết về điều đó trong phần tiếp theo
Để thuận tiện cho chúng ta,
npm install express83 và
npm install express84 được định nghĩa. Họ cung cấp đường dẫn đầy đủ đến tệp và thư mục hiện tại. Cái sau loại trừ tên tệp và in ra đường dẫn thư mục
Chẳng hạn, đối với mô-đun
npm install express85 của chúng tôi, nó sẽ giống như thế này
npm install express
83.npm install express
87npm install express
84.npm install express
89
Ok, chúng tôi đã đề cập đến
17,
16,
npm install express83 và
npm install express84. Điều duy nhất chúng tôi chưa đề cập đến là ________ 294. Chúng ta hãy đi cho nó
mô-đun. xuất khẩu so với. xuất khẩu
npm install express94 không phải là toàn cầu; . Nó chứa siêu dữ liệu về một mô-đun như id, xuất khẩu, cha mẹ, con cái, v.v.
17 là bí danh của
npm install express59. Do đó, bất cứ điều gì bạn chỉ định cho
17 cũng có sẵn trên
npm install express59. Tuy nhiên, nếu bạn chỉ định trực tiếp thứ gì đó để xuất, thì bạn sẽ mất lối tắt tới
npm install express59. e. gcon mèo. js
const fs = require['fs'];2
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
const fs = require['fs'];3
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
Hãy thử trường hợp sau với
17 và sau đó với
npm install express59chính. js
npm install express8
const fs = require['fs'];5
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
Tóm lại, khi nào nên sử dụng
npm install express59 so với
17
Sử dụng
17 để
- Xuất chức năng được đặt tên. e. g.
1
6,
2
3
4
5
61
7
2
3
4
5
6
Sử dụng
npm install express59 để
Nếu bạn muốn xuất một đối tượng, lớp, chức năng ở cấp gốc [e. g.
1
9]
2
3
4
5
6Nếu bạn muốn trả lại một đối tượng hiển thị nhiều nhiệm vụ. e. g.
1
60
nhập khẩu
Bắt đầu với phiên bản 8. 5. 0+, Nút. js hỗ trợ các mô-đun ES nguyên bản với cờ tính năng và phần mở rộng tệp mới
12
Chẳng hạn,
162 trước đây của chúng tôi có thể được viết lại thành
163 như sauvòng kết nối. mjs
const fs = require['fs'];2
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
const fs = require['fs'];7
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
Sau đó, chúng ta có thể sử dụng nhập khẩu
chính. mjsconst fs = require['fs'];8
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
const fs = require['fs'];9
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
Và, cuối cùng, bạn có thể chạy nó bằng cờ tính năng mô-đun thử nghiệm
1
11
Nếu bạn không thích các mô-đun thử nghiệm, một giải pháp thay thế khác là sử dụng bộ chuyển mã. Điều đó chuyển đổi JavaScript hiện đại sang các phiên bản cũ hơn cho bạn. Các tùy chọn tốt là TypeScript, Babel và Rollup
Khắc phục sự cố npm install express
1 và 1
6
Cờ thử nghiệm
Nếu bạn không sử dụng cờ thử nghiệm
166 và cố gắng sử dụng
npm install express1, bạn sẽ gặp lỗi như thế này
12____03
Phần mở rộng tệp. mjs so với. js [hoặc. cjs]
Nếu bạn có tệp
12, bạn không thể sử dụng tệp
16 nếu không nó sẽ báo lỗi [
const fs = require['fs'];00].
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
const fs = require['fs'];01 dành cho Mô-đun
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
npm install express1 ECMAScript và
const fs = require['fs'];03 dành cho mô-đun
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
16 thông thường
Tuy nhiên, với
12, bạn có thể tải cả hai loại mô-đun
14
15
Lưu ý rằng
const fs = require['fs'];06 đang sử dụng các mô-đun commonJS
fs.readFile['./file.txt', 'utf-8', [err, data] => {
if[err] { throw err; }
console.log['data: ', data];
}];
Tóm lược
Chúng tôi đã tìm hiểu về cách tạo Node. js và sử dụng nó trong mã của chúng tôi. Các mô-đun cho phép chúng tôi sử dụng lại mã dễ dàng. Chúng cung cấp chức năng tách biệt với các mô-đun khác. Hàm
16 được sử dụng để tải các mô-đun.
17 và
npm install express59 cho phép chúng tôi xác định những phần nào trong mã của chúng tôi mà chúng tôi muốn tiết lộ. Chúng tôi cũng khám phá sự khác biệt giữa
npm install express59 và
17. Cuối cùng, chúng tôi đã chọn nhanh về những gì sắp xảy ra cho các mô-đun bằng cách sử dụng
18