Size: a a a

Elm Lang сообщество разработчиков

2020 April 05

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Или

case Url.toString model.url of
   "/" ->
Page.Root.render model
   "/home" ->
Page.Home.render model
   _ ->
Page.NotFound.render model
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Alexey Yurchenko
50 страниц, 50 разных запросов, на каждый запрос нужно свое поле в моделе. Держать это все в Main?
См выше
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Можно красиво разбить все по файлам
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
И везде делать
import Types exposing (Msg)
не сильно круто
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Т.е. писать Main на 2000 строк кода это нормально, а разбивать код на кучу файлов — нет?
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Alexey Yurchenko
И везде делать
import Types exposing (Msg)
не сильно круто
Да, это адекватная практика
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
А вот разбивать каждую страницу на свое приложение — это не норма
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Это норма
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Alexey Yurchenko
Это норма
Даже создатель эльма говорит что это говно
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Не, не спорю что для некоторых задач подходит, но точно не на каждом шагу для каждой новой страницы создавать свою мини-приложение
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Есть у вас приложение на 20-30 страниц хотя бы? Просто интересно сколько полей в model
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
У меня в проде больше нет Elm приложения
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Зато есть TS приложение
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
И еще 1 забавный такой факт
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Вам ведь все-равно придется добавлять в модель другие модели
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Только таким вот костыльным способом
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Можно с тем же успехом сделать примерно так:
type Model = {
   pages : {
       root : Root
       home : Home
       notFound : NotFound
   }
}
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
А еще теперь 1 вопрос возникает
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
А как динамические ссылки собрались тем способом делать?
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Я пока собираюсь идти путем титульного elm проекта в opensource 😁
https://github.com/rtfeldman/elm-spa-example/blob/master/src/Route.elm#L25
Вот динамические роуты
источник