在 elm 中使用两个同名的不同模块
Using two different modules with the same name in elm
我用openapi-generator-cli to generate the elm code for REST apis that are described using OpenAPI.
到目前为止,基本上这对我来说效果很好。但现在我有一个问题,我想访问在单独的 OpenAPI 文档中描述的两个微服务。问题是,openapi-generator 为它生成接口的每个 REST API 生成一个 Api
和 Api.Data
模块。我已经检查了openapi-generator中的模板,但是这些模块名称是固定的,不能更改。
所以我想知道:是否有可能以某种方式在一个 elm 项目中使用两个包,它们包含具有相同名称的模块?关于如何在一个 elm 项目中使用两个单独的 API 还有其他想法吗?
如果我没误会你的话,你可以试试:
import Foo.Api as FooApi
import Bar.Api as BarApi
没有。 Elm 中的模块名称需要不同。同一个项目中不能有两个同名的模块。您将收到以下错误:
Detected problems in 1 module.
-- AMBIGUOUS IMPORT ----------------------------------------------- src/Main.elm
You are trying to import a `Foo` module:
3| import Foo
^^^
But I found multiple files in your "source-directories" with that name:
src/Foo.elm
src2/Foo.elm
Change the module names to be distinct!
您将需要重命名其中一个生成项目的模块。我建议自动重命名。
This project 解决了类似的问题,所以也许它可以提供有用的启发。
最简单的方法可能是分叉生成器并为模块前缀添加一个选项(并可能将其贡献回来,因为它似乎是一个普遍有用的选项;elm-graphql 已经有了这个)。
我用openapi-generator-cli to generate the elm code for REST apis that are described using OpenAPI.
到目前为止,基本上这对我来说效果很好。但现在我有一个问题,我想访问在单独的 OpenAPI 文档中描述的两个微服务。问题是,openapi-generator 为它生成接口的每个 REST API 生成一个 Api
和 Api.Data
模块。我已经检查了openapi-generator中的模板,但是这些模块名称是固定的,不能更改。
所以我想知道:是否有可能以某种方式在一个 elm 项目中使用两个包,它们包含具有相同名称的模块?关于如何在一个 elm 项目中使用两个单独的 API 还有其他想法吗?
如果我没误会你的话,你可以试试:
import Foo.Api as FooApi
import Bar.Api as BarApi
没有。 Elm 中的模块名称需要不同。同一个项目中不能有两个同名的模块。您将收到以下错误:
Detected problems in 1 module.
-- AMBIGUOUS IMPORT ----------------------------------------------- src/Main.elm
You are trying to import a `Foo` module:
3| import Foo
^^^
But I found multiple files in your "source-directories" with that name:
src/Foo.elm
src2/Foo.elm
Change the module names to be distinct!
您将需要重命名其中一个生成项目的模块。我建议自动重命名。
This project 解决了类似的问题,所以也许它可以提供有用的启发。
最简单的方法可能是分叉生成器并为模块前缀添加一个选项(并可能将其贡献回来,因为它似乎是一个普遍有用的选项;elm-graphql 已经有了这个)。