RequestJS - CommonJS

Định dạng mô-đun được xác định bởi CommonJS. Nó được định nghĩa mà không cung cấp tùy chọn trình duyệt bình đẳng cho các môi trường JavaScript khác. Do đó, đặc tả CommonJS đề xuất các định dạng Giao thông vận tải và một yêu cầu không đồng bộ . Bạn có thể dễ dàng chuyển đổi định dạng mô-đun CommonJS truyền thống để hoạt động với RequestJS. Tuy nhiên, tất cả các mô-đun sẽ không chuyển đổi sang định dạng mới. Một số trường hợp ngoại lệ được liệt kê bên dưới -

  • Các mô-đun có mã điều kiện để thực hiện một cuộc gọi yêu cầu.
  • Các mô-đun với phụ thuộc vòng tròn.

Chuyển đổi thủ công

Mô-đun CommonJS có thể được chuyển đổi thủ công sang định dạng RequestJS bằng cách sử dụng cú pháp sau:

define(function(require, exports, module) {
   //place CommonJS module content here
});

Công cụ chuyển đổi

Mô-đun CommonJS có thể được chuyển đổi sang định dạng RequestJS bằng cách sử dụng công cụ chuyển đổi dự án r.js , được tích hợp trong tệp r.js. Bạn nên chỉ định đường dẫn của tệp sẽ được chuyển đổi và thư mục đầu ra như hình dưới đây -

node r.js -convert path/to/commonjs/modules/ path/to/output

Đặt giá trị đã xuất

Một số hệ thống trong CommonJS, cho phép đặt giá trị đã xuất bằng cách gán giá trị đã xuất dưới dạng module.exports Nhưng RequiJS, hỗ trợ cách dễ dàng hơn để trả về giá trị từ hàm được truyền để xác định. Ưu điểm của điều này là bạn không cần các đối số xuất và hàm mô-đun, vì vậy bạn có thể bỏ chúng khỏi định nghĩa mô-đun như hình dưới đây -

define(function (require) {
   var name = require('name');

   //Define the module as exporting a function
   return function () {
      name.doSomething();
   };
});

Cú pháp thay thế

Cách thay thế để chỉ định phụ thuộc là thông qua đối số mảng phụ thuộc xác định () . Tuy nhiên, thứ tự của các tên trong mảng phụ thuộc phải khớp với thứ tự của các đối số được truyền vào hàm định nghĩa define () như hình dưới đây:

define(['name'], function (name) {
   
   return function () {
      name.doSomething();
   };
});

Đang tải các mô-đun từ các gói CommonJS

Để biết về vị trí và thuộc tính gói, các mô-đun được tải trong gói CommonJS sử dụng RequestJS bằng cách thiết lập cấu hình RequestJS.

Công cụ tối ưu hóa

Công cụ tối ưu hóa có mặt trong RequestJS có thể kết hợp các định nghĩa mô-đun với nhau thành các gói được tối ưu hóa để phân phối trình duyệt. Nó hoạt động như một công cụ dòng lệnh để bạn có thể sử dụng nó như một phần của việc triển khai mã.