Czy requirejs
i require
to samo?
Począwszy od RequireJS 2.1.15 require
iw requirejs
przestrzeni 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) {
require
require
Należy użyć require
lub 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 require
na poziomie globalnym, ponieważ requirejs
jest on specyficzny dla RequireJS. Inny program ładujący AMD tego nie zdefiniuje. Specyfikacja AMD definiuje, require
ale nie requirejs
.
Jeśli ładujesz coś innego, co definiuje globalny require
, musisz użyć requirejs
na poziomie globalnym, aby uniknąć konfliktu.
Wewnątrz modułu zawsze używaj, define
aby uzyskać odwołanie do require
. Powinieneś to zrobić niezależnie od tego, czy istnieje konflikt w globalnej przestrzeni.