2013-10-29 2 views
1

나는 RequireJS"./"경로 지정은 무엇을 의미합니까?

내가

define(["./cart", "./inventory"], function(cart, inventory) {...} 

어떤 차이가 "./"를 만드는 않습니다

define(["cart", "inventory"], function(cart, inventory) {...} 

의 차이를 얻을 해달라고을 읽고있다? "./"없이 의존성 경로를 사용하려면 어떻게해야합니까?

+2

'. /'는 파일 시스템의 현재 디렉토리입니다. –

답변

5

일반적으로 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")은 여전히 ​​작동합니다.

0

은 현재 스크립트와 동일한 디렉토리에있는 모듈을 가져 오기 위해 현재 디렉토리를 나타냅니다. 코드의 맥락에서 파일 시스템 (/i/like/node/js/modules.js)

1

어디서나 얻을 수있는 절대 경로를 사용 : (net, fs, 아무것도 npm를 통해 설치 사용하십시오 예 :) 아니오 ./는 기본 설치 모듈은 이동 노드 경로를 의미하지 , 현재 실행중인 스크립트와 동일한 디렉토리에 카트를 정의하는 것을 의미합니다.

define(["/var/www/site/cart", "/var/www/site/inventory"], function(cart, inventory) {...} 
0

'/가'루트 디렉토리 및

을 말한다 './'로

/var/www/site/cart

:

대안은 절대 경로를 사용하는 것입니다 현재 디렉토리를 가리킨다

define(["./cart", "./inventory"] : 이것은 스크립트가 실행되는 현재 디렉토리의 장바구니를 나타냅니다.

1

Wikipedia

define(["./cart", "./inventory"], function(cart, inventory) {...} 

define(["cart", "inventory"], function(cart, inventory) {...} 

는 파일 시스템

0

./의 루트 디렉토리에있는 특정 파일을 검색 할 파일 시스템의 현재 디렉토리에있는 특정 파일을 검색하면거야 것을 의미한다 동일한 디렉토리에 있어야합니다.

관련 문제