2012-07-19 26 views
35

Tôi mới học võ đường và tôi đã đi qua các hàm require()define() và tôi không thể có được đầu của tôi xung quanh một trong hai. Ngoài ra, khi nào tôi sẽ sử dụng một trong hai? Một bản demo hoặc ví dụ nhỏ sẽ có lợi. Cảm ơn nhiều!Sự khác biệt chính giữa hàm require() và define() trong dojo là gì và khi nào chúng ta sẽ sử dụng?

+1

Một liên kết tốt: [Dojo require() vs xác định()] (http://g00glen00b.be/dojo-require-vs-define/). "define()" cung cấp một giá trị trả về và tải xuống một cách lười biếng các phụ thuộc. Nó được sử dụng để xác định các mô-đun tùy chỉnh của riêng bạn và các phụ thuộc mà nó cần. "require()" của việc sử dụng chính là nhập khẩu các mô-đun. Cả hai đều đồng bộ; chỉ yêu cầu() là không lười biếng. – FoggyDay

Trả lời

59

requiredefine là một phần của API định nghĩa mô-đun không đồng bộ (AMD).

Bạn sử dụng define để xác định mô-đun có thể được tiêu thụ bởi mã khác. Nói chung, define sẽ được sử dụng trong tệp javascript. Tệp javascript đang định nghĩa một mô-đun. Tất cả các tệp Dojo đều sử dụng định nghĩa.

Bạn sử dụng require khi bạn không xác định mô-đun, nhưng bạn yêu cầu các mô-đun đã được xác định. Nói chung, require sẽ được sử dụng trong các trang HTML. Trang HTML không phải là một mô-đun, nhưng yêu cầu các mô-đun trình bày trang cho người dùng.

AMD API

https://github.com/amdjs/amdjs-api/wiki/AMD

+0

Câu trả lời rất hay. – Krishna

+0

Phát hiện một triệu chứng của việc sử dụng sai là gọi lại trở lại ngay lập tức trước khi mã chạy ... http://stackoverflow.com/questions/5590618/requirejs-calling-callbacks-before-dependencies-loaded-resolved?rq=1 – prototype

+0

khi bạn định nghĩa mô-đun mới và bạn cần một mô-đun khác mà bạn đã tạo, bạn có thể sử dụng định nghĩa để yêu cầu mô-đun đó – AhammadaliPK

Các vấn đề liên quan