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

时间:2018-02-20 14:45:56

标签: python import elm multi-module

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

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

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

在Python中,我会将__init__.py放入每个嵌套目录中,将它们转换为 packages ,这样我就可以像from Page import Cats那样访问其中的模块,或者像这样from Page.Cats import Main。榆树中有类似的概念吗?

1 个答案:

答案 0 :(得分:4)

假设src位于source-directories的{​​{1}},请确保该文件中的模块名称与路径匹配,即elm-package.json

Page.Cats.Main

然后将其导入module Page.Cats.Main exposing (add) add x y = x + y

View.elm