라이브러리의 기본적인 사용법은 같은 이름을 정의하는 것입니다 : 내 경우Dart에서 더 깊은 라이브러리 계층을 처리하는 방법은 무엇입니까?
#library('Name');
, 나는 "중첩"또는 "깊은"라이브러리 계층 구조를 정의하고 싶습니다. 그래서 내가 가진 경우 프레임 워크 Foo
에게 전화의 내가 라이브러리 Messenger
을 구축 가정 해 봅시다 :
#library('Messenger');
내가 그 다른 무언가와 충돌 것 같군요. 내가 찾는 것은 다음과 같습니다 :
#import('Foo.Messenger');
메신저 라이브러리는 Foo 라이브러리 세트의 일부입니다.
어떻게 접근할까요? 내가 알고있는 것처럼, 사람들이 같은 라이브러리에 참조합니다 : 당신이 당신의 라이브러리가 네임 스페이스와 충돌 할 수 있다는 우려되는 경우
#import('package:Foo.Messenger')
지금까지 2 번이나 해본 패키지를 이해합니다. 또한 언어 안내 및 사양을 읽은 접두어에 대해서도 알고 있지만 라이브러리 이름과의 충돌을 피하는 방법은 잘 모릅니다. 즉,'#library (...);'라고 쓰는 이유가 있습니다. 이름은 예를 들어 리플렉션에서 사용됩니다 (예정된 기능). – Tower
정확하지만 라이브러리 이름이 아니라 파일 이름으로 가져옵니다. 라이브러리 이름은 내부 식별자입니다. 원하는 경우 '핵심'파일과 유사한 라이브러리를 사용하고 라이브러리 이름을 다음과 같이 지정할 수 있습니다. #library ("packageName : lib1") #library ("packageName : lib2") 등. 정의한 이름으로 임포트하지 마십시오. –