일반적으로 RequireJS의 모듈 이름에 .
, ..
및 /
이있는 것은 HTTP 경로와 같은 의미입니다.
종속성에 존재하는 ./
은 RequireJS가 현재 디렉토리에서 검색을 시작하도록 지시합니다. 원하는 모듈이 필요한 디렉토리와 같은 디렉토리에있는 모듈을 사용하면 매우 유용합니다. moduleA에 moduleB가 필요하고 두 모듈 모두 같은 디렉토리에 있다고 가정하면 moduleA는 단지 "./moduleB"
을 요구할 수 있습니다. 이렇게하는 것의 한 가지 이점은 모듈을 저장할 위치에 대해 걱정할 필요가 없다는 것입니다. 만약 당신이 그들을 이동하지만 그들은 항상 같은 디렉토리에 다음 moduleA 항상 moduleB 찾을 수 있습니다.
또 다른 점은 require("moduleX")
이고 moduleX라는 모듈이 여러 개 있으면 어떤 모듈을 사용할 수 있습니까? 상대 경로는 어떤 경로를 얻는 지 명확히합니다.
당신은 당신이
정말는 그것을 제거하고 싶어, 내가 물어 줄 당신이
./
먼저 제거 할 수있는 방법을 물어? 두 개의 모듈이 같은 디렉토리에 있고이 관계가 안정화되는 시나리오에서 나는
./
을 제거하는 것이 타당하지 않습니다. 실제로 사람들이 코드를 읽는 데 도움이됩니다. 당신이 필요로하는 것이 jQuery와 같은 것인데, 어떤 순간에 다른 모듈과 같은 디렉토리에 있지만 합법적으로 어딘가에 설치 될 수 있으며, 주어진 애플리케이션에 대해 고유하다고 생각 될 수있는 것일 수도 있습니다.
다음 그것이 세계적으로 잘 알려진 위치에있는 것이 합리적입니다. 이것은 실제 응용 프로그램의 코드 부분의 실제 작품이다
paths: {
'jquery': 'external/jquery-1.9.1'
}
이렇게하려면, 당신처럼, 당신의 requirejs 구성에서 paths
를 사용합니다. 어느 모듈이 jquery를 원 하든지간에, 단지 require("jquery")
을 발행합니다. jquery가 자체에 상대적으로 위치한다는 것은 걱정할 필요가 없습니다. jQuery뿐 아니라 원하는 모듈에 대해 이와 같은 경로를 지정할 수 있습니다. jQuery가 앞으로 다른 위치로 이동하거나 CDN에서 제공하려는 경우 위의 스 니펫에서이 매핑이 편집되지만 require("jquery")
은 여전히 작동합니다.
'. /'는 파일 시스템의 현재 디렉토리입니다. –