2013-03-30 1 views
2

다트 편집기에서 다트 프로젝트에 하위 폴더를 만들면이 하위 폴더 안에 패키지 하위 폴더가 즉시 생성됩니다. 하위 폴더가 프로젝트 구조에 특별한 의미가있는 곳이라면 어디서나 읽지는 못했지만 실제로는 그렇게 보입니다. 누구 더 알고 있니?다트 프로젝트에서 폴더의 관련성은 무엇입니까?

답변

5

패키지 하위 폴더에는 Pub 패키지에 대한 심볼릭 링크가 있습니다. Pub and Pub 패키지에 대한 자세한 내용은 http://pub.dartlang.org/doc/에서 확인할 수 있습니다.

비 웹 프로젝트를 시작하면 편집기는 bin/및 test/directories (lib 디렉토리 제외)에 패키지 디렉토리를 자동으로 작성합니다. 웹 프로젝트를 만들면 패키지 디렉터리도 web/폴더에 만들어집니다.

pubspec.yaml 파일에 Pub 종속성을 추가하고 pub install을 실행하면 패키지 폴더에 방금 설치 한 Pub 패키지에 대한 심볼릭 링크가 포함됩니다. 다트 편집기를 사용하는 경우 pub install은 pubspec, yaml 파일을 수정하면 자동으로 실행됩니다.

이러한 자동 생성 패키지 폴더 중 하나가 포함 된 디렉토리에 하위 폴더를 만들면 해당 하위 폴더에 자체 패키지 디렉토리가 생성됩니다. 이 방법을 사용하면 디렉토리에서 코드를 중첩해도 Pub 패키지에 액세스 할 수 있습니다.

+0

위대한 설명에 감사드립니다! C++, C#, Python, Javascript 프로그래밍에서부터, 나는 모든 하위 폴더에서 반복적으로 참조 된 패키지를 보는 것에 익숙해 져야하지만, 나는이 계층 구조의 장점을 sometime 얻을 수 있습니다. docu에 더 많은 것을 파고들 것입니다. thx – citykid

5

Shailen의 답변이 맞습니다. 이 질문의 제목이 "다트 프로젝트에서 폴더와 어떤 관련성이 있습니까?"

다트는 매우 웹 친화적 인 디자인입니다. 웹에로드 경로 또는 클래스 경로가 없기 때문에 Dart 응용 프로그램은 로컬 환경의 설치 또는 사전 구성없이 실행해야합니다.

Dart에서 한 파일을 다른 파일에 연결할 수있는 유일한 방법은 URI를 사용하는 것입니다. 이러한 URI는 파일 URI 일 수 있으며 상대 URI 일 수 있습니다. 즉, A.dart 파일은 절대 경로 또는 상대 경로를 통해 B.dart 파일을 가리킬 수 있습니다.

질문에 대답하기 위해 다트 응용 프로그램의 폴더 레이아웃에는 특별한 것이 없습니다. Dart 파일이 웹상에있는 것과 같은 종류의 연결 규칙을 통해 종속성을 참조 할 수있는 한 앱이 실행됩니다 (<a href="" or <link src="").

그러나 pub (Dart 종속성 관리자)은 패키지 및 응용 프로그램 레이아웃에 대해 몇 가지 가정을합니다. 특정 규칙을 따르면 pub에서 symlink를 관리 할 수 ​​있으므로 타사 종속성을 쉽게 참조 할 수 있습니다. 선술집을 사용해야합니까? 아니요, 수동으로 파일을 복사하거나 수동으로 심볼릭 링크를 관리 할 수는 없습니다. 그러나 Pub는 다트의 디자인 (로드 경로 없음, 클래스 경로 없음)의 제약 조건을 고려할 때 확실히 패키지 사용을 더 쉽게 만듭니다.

+0

또한 위대한 설명을 위해 thnx. 마지막 단 하나의 단락을 완성 할 수 있습니까? ("... (think"? – joan

+0

죄송합니다. :) –

관련 문제