在Haskell中动态导入模块

抽筋

我正在构建一个基于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什么?有没有一种方法可以从目录中导入所有模块并获取可以使用的列表?

抽筋

有点晚了,但是此软件包有助于从设置中生成所需的导入,如注释中所建议:

https://hackage.haskell.org/package/imports

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在TypeScript中动态导入模块

来自分类Dev

在Ember CLI中动态导入模块

来自分类Dev

从导入的模块中按名称动态导入类:

来自分类Dev

在Haskell中导入模块

来自分类Dev

动态导入模块

来自分类Dev

动态导入python模块

来自分类Dev

在haskell中是否有子集模块导入系统?

来自分类Dev

在Python 3.X中动态导入模块

来自分类Dev

在Julia中以编程方式/动态方式导入模块

来自分类Dev

Next.js中动态导入模块的Singleton对象

来自分类Dev

Haskell模块本身会导入

来自分类Dev

无法在Haskell中导入模块

来自分类Dev

是否可以动态导入模块?

来自分类Dev

导入动态加载模块的功能

来自分类Dev

如何动态导入Zig模块?

来自分类Dev

如何动态导入更改模块?

来自分类Dev

无法使用动态导入的模块

来自分类Dev

动态组装Python模块,动态导入

来自分类Dev

PythonAnywhere中的模块导入

来自分类Dev

导入Haskell模块特定部分的好处

来自分类Dev

如何使用exec动态导入模块

来自分类Dev

动态导入模块会导致ImportError

来自分类Dev

从项目模块动态导入Vue CLI

来自分类Dev

无法调用动态导入的python模块

来自分类Dev

无法导入动态安装的python模块

来自分类Dev

Python:动态导入模块和对象

来自分类Dev

在动态导入的模块中注册 singledispatch 函数

来自分类Dev

动态模块导入在python中不起作用-为什么不呢?

来自分类Dev

动态导入:导入css模块,具体取决于