从 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中有类似的概念吗?
假设 src
在 source-directories
中 elm-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
如果我有这样的目录结构:
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中有类似的概念吗?
假设 src
在 source-directories
中 elm-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