Giả sử chúng ta có /app/scripts/methodsModule.js mô-đun mà trả về một vài phương pháp:
define({
someMethod: function() {
// do stuff
},
anotherMethod: function() {
// do some more stuff
}
});
Trong /app/scripts/main.js tập tin dữ liệu chính của chúng tôi, chúng tôi có:
require(['methodsModule'], function(methods) {
methods.someMethod() // call someMethod
methods.anotherMethod() // call anotherMethod
})
Khi requireJS tải lên dữ liệu chính của chúng ta, chúng ta có thể truy cập vào bất kỳ các module đã được nạp bởi requireJS từ dòng lệnh console javascript như sau:
>> methods = require('methodsModule'); // requireJS has module methodsModule stored
>> methods.someMethod() // call someMethod
>> methods.anotherMethod() // call anotherMethod
Nếu một module chưa được nạp bởi một cuộc gọi đến yêu cầu() hoặc xác định(), chúng ta phải vượt qua callback riêng của mình cho các chức năng yêu cầu để gọi sau khi các mô-đun đã được tải:
>> myCB = function(methods) { methods.someMethod() }
>> require(['methodsModule'], myCB)
Nếu không , requireJS ném lỗi nói rằng mô-đun chưa được tải ..
làm điều này làm việc với requireJS "tối ưu hóa" kịch bản? Có lẽ tôi đang làm điều gì đó sai ở đây, nhưng nó dường như không làm việc cho tôi. – Stephen
Vẫn còn hiệu lực kể từ ngày 20/05/2015. Khi chuyển đổi dự án "nguyên thủy" sang AMD, tôi cần đảm bảo rằng mọi thứ đang hoạt động. Tuy nhiên, tôi không thể xác định vị trí của đối tượng mô-đun được trả về sau khi xác định được thực hiện. Lời giải thích tuyệt vời. –