RequireJS : "requirejs"와 "require"함수의 차이점
requireJS 2.x를 사용하고 있습니다. 일부 튜토리얼 (및 공식 문서)에서 가끔
requirejs.config({ [...] });
requirejs(["module"]) ...
그리고 어떨 때에는
require.config({ [...] });
require(["module"]) ...
이 두 함수 (require 및 requirejs)간에 차이점이 있습니까? 문서에서 그것에 대한 단어를 찾을 수 없습니다. :(
그들은 똑같습니다.
그 이유는 일부 환경에 이미.이있는 require
경우 RequireJS가이를 덮어 쓰지 않고 다음을 통해 라이브러리 사용을 허용하기 때문입니다.requirejs
이 커밋을 참조하십시오-https: //github.com/jrburke/requirejs/commit/be45948433b053921dc6a6a57bf06d04e13b3b39
인가 requirejs
와 require
동일한?
RequireJS 2.1.15로, require
그리고 requirejs
콘솔에서 수행 할 수있는이 시험에 의해 입증 할 수있는 글로벌 공간에서, 참으로 "동일"입니다 :
> require === requirejs
true
테스트 반환 true
은 그들이 정확히 동일한 함수 객체 임을 알려줍니다 . 코드가 비슷하거나 동일한 두 가지 기능이 아닙니다. 그들은 같은 대상, 기간입니다.
그러나 실행할 때 함수에 전달되는 define(['require'], function (require) {
The require
는 일반적으로 global 과 다릅니다require
.
require
또는 사용해야합니까 requirejs
?
때에 따라 다르지. RequireJS는 AMD 로더이지만 마을에서 유일한 로더는 아닙니다. AMD 사양 을 100 % 준수하는 코드를 작성 하여 코드를 사용하는 누군가가 코드를 수정하지 않고도 원하는 로더를 사용할 수 있도록 하려면 RequireJS에 한정되어 있으므로 require
글로벌 수준에서 requirejs
사용해야합니다. 다른 AMD 로더는이를 정의하지 않습니다. AMD의 스펙을 정의 require
하지만 requirejs
.
전역 require
을 정의하는 다른 것을로드하는 경우 requirejs
충돌을 피하기 위해 전역 수준에서 사용해야 합니다.
모듈 내에서 항상를 사용 define
하여 require
. 전역 공간에 충돌이 있는지 여부에 관계없이이 작업을 수행해야합니다.
좋습니다. 그들은 실제로 "정확히 동일"할 수 있습니다. 그런 다음 하나와 다른 것을 사용하는 이유에 중점을 둡니다.
명확하지 않은 것은 "모범 사례"로 간주되어야하는 것입니다. requirejs가 "일부 환경에 이미 요구 사항이있을 수있는 경우"추가 보증을 제공한다면, 요구 구성을 정의하기 위해 항상 requirejs 함수를 사용하는 것이 좋지 않을 것입니다. 필수 기능보다?
또한 생각할 수없는 일이 발생하고 문제의 환경에 이미 "require"가 정의되어있을뿐만 아니라 "requirejs"도 정의되어 있으면 어떻게됩니까? 그것은 우리도 requirejsjs가 있어야한다는 것을 의미합니까? 등등...?
이미로드 된 동일한 오픈 웹 사이트입니다.
그런 다음 Chrome 콘솔을 엽니 다.
콘솔에 require를 입력하고 Enter를 누르십시오.
콘솔에 requirejs를 입력하고 Enter 키를 누릅니다.
이름이 다른 동일한 기능임을 알 수 있습니다.
'program story' 카테고리의 다른 글
std :: map 기본값 (0) | 2020.10.17 |
---|---|
GCC 패드가 NOP와 함께 작동하는 이유는 무엇입니까? (0) | 2020.10.17 |
C # Generics는 위임 형식 제약 조건을 허용하지 않습니다. (0) | 2020.10.17 |
TikZ를 사용한 독립형 다이어그램? (0) | 2020.10.17 |
제네릭 클래스의 정적 멤버가 특정 인스턴스에 연결되어 있습니까? (0) | 2020.10.17 |