Czy requirejsi requireto samo?
Począwszy od RequireJS 2.1.15 requireiw requirejsprzestrzeni globalnej są rzeczywiście „dokładnie takie same”, co może wykazać ten test, który można wykonać w konsoli:
> require === requirejs
true
To, że test zwraca, oznacza true, że są to dokładnie ten sam obiekt funkcji . Nie są to dwie funkcje, które mają podobny lub identyczny kod. To ten sam obiekt, kropka.
Należy jednak zwrócić uwagę podczas wykonywania przekazany do funkcji jest zwykle różny od globalnego .define(['require'], function (require) {requirerequire
Należy użyć requirelub requirejs?
To zależy. RequireJS to program ładujący AMD, ale nie jest to jedyny program ładujący w mieście. Jeśli chcesz napisać kod, który jest w 100% zgodny ze specyfikacją AMD , aby ktoś korzystający z Twojego kodu mógł używać dowolnego programu ładującego bez konieczności modyfikowania kodu, powinieneś używać go requirena poziomie globalnym, ponieważ requirejsjest on specyficzny dla RequireJS. Inny program ładujący AMD tego nie zdefiniuje. Specyfikacja AMD definiuje, requireale nie requirejs.
Jeśli ładujesz coś innego, co definiuje globalny require, musisz użyć requirejsna poziomie globalnym, aby uniknąć konfliktu.
Wewnątrz modułu zawsze używaj, defineaby uzyskać odwołanie do require. Powinieneś to zrobić niezależnie od tego, czy istnieje konflikt w globalnej przestrzeni.