Как реализовать путь с более чем одним поддоменом с помощью Pux.Router?

Я использую Pux.Router и не могу заставить работать такой путь, как auth/facebook. auth работает и facebook работает, но не вместе. Например FacebookAuth <$> (lit "facebook" *> param "access_token") <*> (param "expires_in") <* end работает, а FacebookAuth <$> (lit "auth/facebook" *> param "access_token") <*> (param "expires_in") <* end нет. Он скомпилируется, но вы не сможете перейти к auth/facebook.


person torchhound    schedule 04.08.2017    source источник
comment
Не могли бы вы опубликовать код, объявляющий тип Facebook, и полный соответствующий код?   -  person Tom Macdonald    schedule 05.09.2017
comment
Вы имеете в виду FacebookAuth или что-то другое?   -  person torchhound    schedule 05.09.2017


Ответы (1)


Я не использовал Pux.Router, но я думаю, что вы можете использовать только компоненты с одним путем внутри lit, поэтому вложенные компоненты в одну строку не будут работать.

Вы можете попробовать разделить пути, как это...

FacebookAuth <$>
  (lit "auth" *> lit "facebook" *> param "access_token") <*>
  (param "expires_in") <* end

Который применит параметры access_token и expires_in к конструктору FacebookAuth. Тогда это будет соответствовать /auth/facebook/:access_token/:expires_in

person Albtzrly    schedule 20.08.2017
comment
FacebookAuth <$> (lit "auth" *> lit "facebook" *> param "access_token") <*> (param "expires_in") <* end возвращает ошибку Could not match type Unit with type String. - person torchhound; 22.08.2017