Javascript yêu cầu lớp từ mô-đun
Trong bài viết này, hãy cho chúng tôi hiểu các câu lệnh JavaScript require() và import() làm gì, cách chúng tìm nạp các mô-đun và sự khác biệt của chúng. Trước tiên, chúng ta sẽ bắt đầu bằng cách tìm hiểu mô-đun JavaScript là gì Show
Mô-đun JavaScript là một tệp chứa một vài dòng mã được viết bằng JavaScript. Chúng giống như Thư viện JavaScript. Các mô-đun thường chứa một lớp hoặc một thư viện các hàm được sử dụng cho một mục đích cụ thể. Chúng có thể được gọi với sự trợ giúp của các câu lệnh yêu cầu và nhập khẩu. Việc sử dụng các mô-đun làm giảm số dòng mã trong chương trình/tập lệnh của một người. Một lợi thế chính của các mô-đun là các chức năng của một mô-đun khác có thể được gọi mà không cần viết phần thân của các chức năng đó Một số mô-đun phổ biến là Các mô-đun CommonJS, AMD, RequireJS, ES(ECMAScript)6. Tham khảo bài viết trung bình này để được giải thích sâu về cách các mô-đun này khác nhau Mục lục
Cú pháp và giải thích1) yêu cầu()Trong NodeJS, yêu cầu () là một chức năng tích hợp để bao gồm các mô-đun bên ngoài tồn tại trong các tệp riêng biệt. câu lệnh require() về cơ bản đọc một tệp JavaScript, thực thi nó và sau đó tiến hành trả về đối tượng xuất. câu lệnh require() không chỉ cho phép thêm các mô-đun NodeJS lõi tích hợp sẵn mà còn cả các mô-đun cục bộ và dựa trên cộng đồng cú phápĐể bao gồm một mô-đun, hàm require() được sử dụng với tên của mô-đun
2) nhập()Các câu lệnh import() & export() được sử dụng để chỉ mô-đun ES. Các mô-đun khác với các loại tệp như. không thể nhập json với các câu lệnh này. Chúng chỉ được phép sử dụng trong các mô-đun ES và từ chỉ định của câu lệnh này có thể là đường dẫn tương đối kiểu URL hoặc tên gói. Ngoài ra, câu lệnh nhập không thể được sử dụng trong các tập lệnh được nhúng trừ khi tập lệnh đó có loại = "mô-đun". Nhập động có thể được sử dụng cho các tập lệnh có loại không phải là "mô-đun" cú pháp
Yêu cầu () khác với nhập () như thế nàoMột trong những điểm khác biệt chính giữa require() và import() là require() có thể được gọi từ bất kỳ đâu trong chương trình trong khi import() không thể được gọi một cách có điều kiện, nó luôn chạy ở đầu tệp Để sử dụng câu lệnh require(), một mô-đun phải được lưu với. phần mở rộng js trái ngược với. mjs khi câu lệnh import() được sử dụng 5 là một đối tượng đặc biệt được bao gồm trong mọi tệp JavaScript trong Nút. ứng dụng js theo mặc định. 6 là một biến đại diện cho mô-đun hiện tại và 7 là một đối tượng sẽ được hiển thị dưới dạng mô-đun. Vì vậy, bất cứ điều gì bạn gán cho 5 sẽ được hiển thị dưới dạng một mô-đunHãy xem cách hiển thị các loại khác nhau dưới dạng mô-đun bằng cách sử dụng 5Xuất chữNhư đã đề cập ở trên, 7 là một đối tượng. Vì vậy, nó hiển thị bất cứ thứ gì bạn đã gán cho nó dưới dạng một mô-đun. Ví dụ: nếu bạn gán một chuỗi ký tự thì nó sẽ hiển thị chuỗi ký tự đó dưới dạng một mô-đunVí dụ sau hiển thị thông báo chuỗi đơn giản dưới dạng mô-đun trong Thông báo. js Thông điệp. js Sao chép________số 8 Bây giờ, nhập mô-đun tin nhắn này và sử dụng nó như hình bên dưới ứng dụng. js Sao chép
Chạy ví dụ trên và xem kết quả, như hình bên dưới C. \> ứng dụng nút. jsChào thế giới Ghi chú Bạn phải chỉ định 01 làm đường dẫn của thư mục gốc để nhập mô-đun cục bộ. Tuy nhiên, bạn không cần chỉ định đường dẫn để nhập Node. mô-đun lõi js hoặc mô-đun NPM trong hàm 02Xuất đối tượng 7 là một đối tượng. Vì vậy, bạn có thể đính kèm các thuộc tính hoặc phương thức cho nó. Ví dụ sau hiển thị một đối tượng có thuộc tính chuỗi trong tệp 04Thông điệp. js Sao chép 0Trong ví dụ trên, chúng tôi đã đính kèm thuộc tính 05 cho đối tượng xuất khẩu. Bây giờ, nhập và sử dụng mô-đun này, như hình bên dướiứng dụng. js Sao chép 6Trong ví dụ trên, hàm 02 sẽ trả về một đối tượng 07 và gán nó cho biến msg. Vì vậy, bây giờ bạn có thể sử dụng 08Chạy ví dụ trên bằng cách viết 09 trong dấu nhắc lệnh và xem đầu ra như hình bên dướiC. \> ứng dụng nút. jsXin chào thế giới Theo cách tương tự như trên, bạn có thể hiển thị một đối tượng có chức năng. Ví dụ sau hiển thị một đối tượng có hàm 60 dưới dạng mô-đunNhật ký. js Sao chép 2Mô-đun trên sẽ hiển thị một đối tượng- 61. Sử dụng mô-đun trên như hình dưới đâyứng dụng. js Sao chép 4Chạy và xem đầu ra trong dấu nhắc lệnh như hình bên dưới C. \> ứng dụng nút. jsXin chào thế giới Bạn cũng có thể đính kèm một đối tượng vào 5, như hình bên dướidữ liệu. js 6ứng dụng. js Sao chép 7Chạy ví dụ trên và xem kết quả, như hình bên dưới C. \> ứng dụng nút. jsJames Bond Chức năng xuất khẩuBạn có thể đính kèm một chức năng ẩn danh để xuất đối tượng như hình dưới đây Nhật ký. js Sao chép 8Bây giờ, bạn có thể sử dụng mô-đun trên, như hình bên dưới ứng dụng. js Sao chép 9Biến 63 trở thành một biểu thức hàm trong ví dụ trên. Vì vậy, bạn có thể gọi hàm bằng dấu ngoặc đơn 64. Chạy ví dụ trên và xem đầu ra như hình bên dướiC. \> ứng dụng nút. jsXin chào thế giới Hàm xuất dưới dạng LớpTrong JavaScript, một hàm có thể được coi như một lớp. Ví dụ sau đây cho thấy một chức năng có thể được sử dụng như một lớp Người. js Sao chép 0Mô-đun trên có thể được sử dụng, như hình bên dưới ứng dụng. js 1Như bạn có thể thấy, chúng tôi đã tạo một đối tượng 65 bằng cách sử dụng từ khóa 66. Chạy ví dụ trên, như hình bên dướiC. \> ứng dụng nút. jsJames Bond Bằng cách này, bạn có thể xuất và nhập mô-đun cục bộ được tạo trong một tệp riêng trong thư mục gốc Nút. js cũng cho phép bạn tạo các mô-đun trong thư mục con. Hãy xem cách tải mô-đun từ các thư mục con Tải mô-đun từ thư mục riêngSử dụng đường dẫn đầy đủ của tệp mô-đun mà bạn đã xuất nó bằng cách sử dụng 5. Ví dụ: nếu mô-đun nhật ký trong nhật ký. js được lưu trữ trong thư mục 68 trong thư mục gốc của ứng dụng của bạn, sau đó nhập nó, như hình bên dướiứng dụng. js Sao chép 2Trong ví dụ trên, 69 dành cho thư mục gốc, sau đó chỉ định đường dẫn chính xác của tệp mô-đun của bạn. Nút. js cũng cho phép chúng tôi chỉ định đường dẫn đến thư mục mà không chỉ định tên tệp. Ví dụ: bạn có thể chỉ định thư mục tiện ích mà không chỉ định 20, như minh họa bên dướiứng dụng. js Sao chép 3Trong ví dụ trên, Nút. js sẽ tìm kiếm tệp định nghĩa gói có tên là 21 bên trong thư mục tiện ích. Điều này là do Node giả định rằng thư mục này là một gói và sẽ cố gắng tìm định nghĩa gói. Tệp 21 phải nằm trong thư mục mô-đun. Thư mục tiện ích 21 chỉ định tên tệp bằng khóa 24, như hình bên dưới/tiện ích/gói. json Sao chép 4Bây giờ, nút. js sẽ tìm tệp 20 bằng cách sử dụng mục nhập 24 trong 21 và nhập tệp đóGhi chú Nếu tệp 21 không tồn tại thì nó sẽ tìm kiếm chỉ mục. js dưới dạng tệp mô-đun theo mặc định
Bạn có thể sử dụng yêu cầu trong một mô-đun không?yêu cầu không phải là mô-đun . Theo mặc định, các mô-đun nút sử dụng cú pháp commonJS nhưng giờ đây bạn cũng có thể sử dụng các mô-đun ES trong nút. Nếu phần mở rộng của tệp script của bạn là. mjs hoặc nếu gõ thuộc tính trong gói.
Làm cách nào để sử dụng lớp từ tệp js khác?Cách nhập một lớp từ một tệp khác trong JavaScript. . Xuất lớp từ tệp A, e. g. lớp xuất Nhân viên {} Nhập lớp trong tệp B dưới dạng nhập {Employee} from '. /another-file. js' Khởi tạo lớp trong tệp B Tôi có thể sử dụng yêu cầu trong JavaScript không?“Yêu cầu” được tích hợp sẵn với NodeJS
. Tuy nhiên, nếu bạn đang sử dụng yêu cầu để lấy các mô-đun cục bộ, trước tiên, bạn cần xuất chúng bằng mô-đun. you can include them in your JavaScript files and use their functions and variables. However, if you are using require to get local modules, first you need to export them using module. |