Yêu cầuJS - Mô-đun AMD

Một mô-đun trong RequestJS là một đối tượng có phạm vi và không có sẵn trong không gian tên chung. Do đó, không gian tên toàn cầu sẽ không bị ô nhiễm. Cú pháp RequestJS cho phép tải các mô-đun nhanh hơn mà không cần lo lắng về việc theo dõi thứ tự của các phụ thuộc. Bạn có thể tải nhiều phiên bản của cùng một mô-đun trong cùng một trang.

Xác định mô-đun

Mô-đun được xác định bằng cách sử dụng define()chức năng; chức năng tương tự cũng được sử dụng để tải mô-đun.

Tên / cặp giá trị đơn giản

Nếu mô-đun chỉ là một tập hợp các cặp tên và giá trị, thì bạn có thể sử dụng cú pháp sau:

define({
   state: "karnataka",
   city: "bangalore"
});

Xác định chức năng

Một mô-đun cũng có thể sử dụng một hàm cho các khuôn khổ mà không cần có các phần phụ thuộc. Điều này có thể được thực hiện bằng cách sử dụng cú pháp sau:

define(function () {
   
   //Do setup work here
   return {
      state: "karnataka",
      city: "bangalore"
   }
});

Xác định các chức năng với các phụ thuộc

Nếu mô-đun có các phụ thuộc, thì vị trí của đối số đầu tiên (mảng tên phụ thuộc), đối số thứ hai (xác định hàm) và đối tượng trả về xác định mô-đun được hiển thị theo cú pháp sau:

define(["./mnc", "./startup"], 
   function(mnc, startup) {
        
      return {
         state: "karnataka",
         city: "bangalore",
      
         addCompany: function() {
            mnc.decrement(this);
            startup.add(this);
         }
      
      }
   }
);

Định nghĩa Mô-đun như một chức năng

Không bắt buộc mô-đun chỉ trả về các đối tượng, bất kỳ giá trị hợp lệ nào từ một hàm cũng có thể được trả về. Cú pháp sau được sử dụng để xác định mô-đun dưới dạng một hàm:

define(["./mnc", "./startup"],
   function(mnc, startup) {
       
      return function(title) {
         return title ? (window.title = title) :
         startup.storeName + ' ' + mnc.name;
      }
      
   }
);

Xác định Mô-đun có tên

Trong một số trường hợp, bạn có thể phải bao gồm tên cho mô-đun làm đối số đầu tiên define(). Điều này có thể được thực hiện bằng cách sử dụng cú pháp sau:

define("js2/title",
   ["js1/mnc", "js1/startup"],
   
   function(mnc, startup) {
      //Define js2/title object in here.
   }
   
);

Đang tải mô-đun