Are requirejs
Và require
các cùng?
Đối với RequestJS 2.1.15 require
và requirejs
trong không gian toàn cầu thực sự là "hoàn toàn giống nhau", có thể được chứng minh bằng thử nghiệm này, bạn có thể thực hiện trong bảng điều khiển:
> require === requirejs
true
Việc kiểm tra trả về true
cho bạn biết chúng là cùng một đối tượng chức năng . Chúng không phải là hai hàm xảy ra có mã giống nhau hoặc giống hệt nhau. Chúng là cùng một đối tượng, thời kỳ.
Lưu ý, tuy nhiên, khi bạn thực thi define(['require'], function (require) {
Hàm require
được truyền vào thường khác với toàn cục require
.
Bạn nên sử dụng require
hay requirejs
?
Nó phụ thuộc. RequestJS là một trình tải AMD nhưng nó không phải là trình tải duy nhất trong thị trấn. Nếu bạn muốn viết mã phù hợp 100% với thông số AMD để ai đó sử dụng mã của bạn có thể sử dụng bất kỳ trình tải nào họ muốn mà không cần phải sửa đổi mã của bạn, thì bạn nên sử dụng require
ở cấp độ toàn cầu, vì requirejs
nó dành riêng cho RequestJS. Một trình nạp AMD khác sẽ không xác định nó. Thông số AMD xác định require
nhưng không requirejs
.
Nếu bạn đang tải thứ gì đó khác xác định toàn cục require
thì bạn phải sử dụng requirejs
ở cấp toàn cầu để tránh xung đột.
Bên trong một mô-đun, luôn sử dụng define
để lấy tham chiếu đến require
. Bạn nên làm điều này bất kể có xung đột trong không gian toàn cầu hay không.