Elixir 애플리케이션에 정적 자산을 포함하는 방법
tl;박사
/priv
디렉토리에 넣습니다. mix.exs
에서 앱의 원자를 식별합니다. 이 예에서는 :my_app
를 사용합니다. Application.app_dir/2
를 사용하여 파일 경로를 가져옵니다. File.stream!/3
입니다. 예시:
def get_my_file_stream() do
Application.app_dir(:my_app, "/priv/my_file.txt")
|> File.stream!()
end
더 깊이 다이빙
위의 정보로 문제가 해결되었다면 좋습니다. 계속 진행하고 이 페이지를 닫을 수 있습니다.
그러나이 주제에 대해 더 알고 싶다면 계속 읽으십시오.
OTP의 유산
Elixir 프로그래밍 언어는 Erlang/OTP 위에 구축되었습니다. Erlang/OTP에 대해 모른다면 this page from the Erlang FAQ을 확인하십시오.
Erlang/OTP 애플리케이션 내에는 다음과 같은 표준 디렉토리 구조가 있습니다.
─ ${application}
├── doc
│ ├── internal
│ ├── examples
│ └── src
├── include
├── priv
├── src
│ └── ${application}.app.src
└── test
이러한 애플리케이션에서 정적 자산을 저장하기 위한 적절한 디렉토리는
/priv
이며 Elixir는 이 구조를 상속합니다.Erlang/OTP 애플리케이션에 대한 자세한 내용을 보려면 check out this page in the OTP Design Principles User’s Guide .
Erlang :code 모듈 활용
위에서
Application.app_dir
를 사용했지만 이것이 파일 경로를 얻는 유일한 방법은 아닙니다.또 다른 접근 방식은 Elixir 코드에서 직접 호출할 수 있는 Erlang
:code
모듈을 사용하는 것입니다(문서here ).:code
모듈에는 지정된 응용 프로그램(docs here )의 priv 디렉토리 경로를 반환하는 priv_dir/1
라는 함수가 있습니다. 그런 다음 Path.join/2
를 사용하여 파일의 전체 경로를 얻을 수 있습니다.def get_my_file_stream() do
:code.prive_dir(:my_app)
|> Path.join("my_file.txt")
|> File.stream!()
end
더 많은 콘텐츠
이 내용이 마음에 드셨다면 다른 게시물도 마음에 드실 것입니다. 내 새 게시물에 대한 알림을 받으려면 내 brief monthly newsletter를 구독하십시오.
Reference
이 문제에 관하여(Elixir 애플리케이션에 정적 자산을 포함하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/brewinstallbuzzwords/how-to-include-static-assets-in-an-elixir-application-2acc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)