从 Elm 中的嵌套目录导入模块?

Import module from nested directories in Elm?

如果我有这样的目录结构:

src
 ├── Commands.elm
 ├── Decoders.elm
 ├── Main.elm
 ├── Messages.elm
 ├── Models.elm
 ├── Page
 │   ├── Cats
 │   │   ├── Main.elm
 │   │   ├── Style.elm
 │   │   └── ...
 │   ├── Pieces
 │   │   ├── Main.elm
 │   │   ├── Style.elm
 │   │   └── ...
 │   └── Players
 │       ├── Main.elm
 │       ├── Style.elm
 │       └── ...
 ├── Routing.elm
 ├── Style
 │   ├── Index.elm
 │   ├── MainCss.elm
 │   └── Main.elm
 ├── Update.elm
 └── View.elm

我找到了一些说明如何从目录导入模块的示例,但找不到有关如何从子目录导入模块的示例。 例如,如何在 View.elm 中导入 Page/Cats/Main.elm

在 Python 中,我会将 __init__.py 放入每个嵌套目录中,将它们变成 packages,这样我就可以访问其中的模块,例如这个 from Page import Cats 或像这样 from Page.Cats import Main。 Elm中有类似的概念吗?

假设 srcsource-directorieselm-package.json,只需确保该文件中的模块名称与路径匹配,即 Page.Cats.Main:

module Page.Cats.Main exposing (add)

add x y = x + y

然后将其导入 View.elm:

import Page.Cats.Main

-- You can now call functions defined in that module like this:
-- Page.Cats.Main.add 1 2