Size: a a a

2020 May 05

LL

Lama Lover in pro.elixir
А есть, кстати, какие-нибудь аргументы в пользу того чтобы хранить проекты отдельно, не в umbrella, когда у вас зоопарк сервисов?
источник

МЛ

Михаил Лёсин... in pro.elixir
А как можно изнутри файла endpoint.ex получить доступ к конфигурации проекта? Хочу сделать что-то типа

  plug Plug.Static,
   at: "/",
   from: Application.get_env(:myapp, :static_files),
   gzip: true,
   only: ~w(css fonts images js favicon_16x16.png robots.txt)
но при запуске пишет
** (ArgumentError) unknown application: nil
источник

МЛ

Михаил Лёсин... in pro.elixir
Я так понимаю, в этот момент ещё никакого Application не создано, но как тогда получить конфигурацию из mix?
источник

МЛ

Михаил Лёсин... in pro.elixir
мне нужны разные пути для девелопент и продакшн чтобы были
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А где падает ArgumentError?
источник

МЛ

Михаил Лёсин... in pro.elixir
** (exit) an exception was raised:
   ** (ArgumentError) unknown application: nil
       (elixir 1.10.3) lib/application.ex:885: Application.app_dir/1
       (plug 1.10.0) lib/plug/static.ex:393: Plug.Static.path/2
       (plug 1.10.0) lib/plug/static.ex:176: Plug.Static.call/2
       (creo 1.0.0) lib/creo_web/endpoint.ex:1: CreoWeb.Endpoint.plug_builder_call/2
       (creo 1.0.0) lib/plug/debugger.ex:132: CreoWeb.Endpoint."call (overridable 3)"/2
       (creo 1.0.0) lib/creo_web/endpoint.ex:1: CreoWeb.Endpoint.call/2
       (phoenix 1.5.1) lib/phoenix/endpoint/cowboy2_handler.ex:64: Phoenix.Endpoint.Cowboy2Handler.init/4
       (cowboy 2.7.0) /home/mike/code/cg/web/creo/backend/deps/cowboy/src/cowboy_handler.erl:41: :cowboy_handler.execute/2
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А почему он тогда не пишет unknown application: creo?
источник

МЛ

Михаил Лёсин... in pro.elixir
да вот хз
источник

МЛ

Михаил Лёсин... in pro.elixir
это запуск в релизе, но со включеным debug_errors
источник

LL

Lama Lover in pro.elixir
Михаил Лёсин
А как можно изнутри файла endpoint.ex получить доступ к конфигурации проекта? Хочу сделать что-то типа

  plug Plug.Static,
   at: "/",
   from: Application.get_env(:myapp, :static_files),
   gzip: true,
   only: ~w(css fonts images js favicon_16x16.png robots.txt)
но при запуске пишет
** (ArgumentError) unknown application: nil
Попробуй через аттрибуты модуля
источник

МЛ

Михаил Лёсин... in pro.elixir
это как?
источник

LL

Lama Lover in pro.elixir
@static_path Application.get_env(:my_app, :my_key)

plug Plug.Static,
 ...

   from: @static_path
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
@static_path Application.get_env(:my_app, :my_key)

plug Plug.Static,
 ...

   from: @static_path
ага, и оно запечется в константу
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
ага, и оно запечется в константу
Я не говорю о том, что так лучше
Просто проверить - получится ли
источник

AB

Alex Bubnov in pro.elixir
а что, Plug.Static не научился принимать функцию в from?
источник

МЛ

Михаил Лёсин... in pro.elixir
тоже самое
источник

LL

Lama Lover in pro.elixir
Я ща код почитаю тогда
источник

AB

Alex Bubnov in pro.elixir
:from - the file system path to read static assets from.
     It can be either: a string containing a file system path, an atom representing the application name (where assets will be served from `priv/static`)
источник

AB

Alex Bubnov in pro.elixir
nil - атом
источник

AB

Alex Bubnov in pro.elixir
па-пам
источник