---
description: https://www.tutorialspoint.com/requirejs/requirejs_amd_modules.htm
---

# RequireJS - AMD Modules (ok)

### Defining Modules

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"
});
```

### Defining Functions

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() {
  return {
    state: "karnataka",
    city: "bangalore"
  }
});
```

### Defining Functions with Dependencies

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ị trong cú pháp sau

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

### Defining a Module as a Function

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ột mô-đun như một hàm

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

### Defining a Module with a Name

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 để định nghĩa (). Đ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.
  }
);
```

