Scotty ベースのアプリケーションを構築しており、ディレクトリに含まれる動的ミドルウェアのリストをインポートして追加しようとしています。
ミドルウェアのリストをハードコーディングしたくありませんが、現在のところ、Index.hs
すべてのディレクトリミドルウェアを公開するを使用しています。
私が持っているとしましょうMain.hs
import Controllers.Index (endpoints)
...
main :: IO ()
main = do
port <- read <$> getEnv "PORT"
scotty port $ do
middleware logStdoutDev
endpoints
次にControllers/Index.hs
:
module Controllers.Index
( endpoints ) where
import Controllers.Order (order)
import Controllers.User (user)
...
import Web.Scotty (ScottyM)
endpoints :: ScottyM ()
endpoints = order >> user >> ...
それぞれControllers/*.hs
にミドルウェアが含まれています。
を取り除く最良の方法は何Controllers/Index.hs
ですか? ディレクトリからすべてのモジュールをインポートして、作業できるリストを取得する方法はありますか?