【问题标题】:Import Elm front-end from github into Phoenix back-end将 Elm 前端从 github 导入到 Phoenix 后端
【发布时间】:2017-06-08 21:35:17
【问题描述】:

我的团队正在开发 phoenix/elm 应用程序,并决定将这两个项目保存在单独的存储库中,并从 phoenix 应用程序“指向”elm 应用程序。这对我来说是一种新的领域,我一直在寻找不同的方法来实现这一点。我尝试通过 package.json 将 Elm 应用程序作为依赖项导入,但我相信 node_modules/ 无法识别 Elm 代码。我也尝试通过 mix.exs 将它作为依赖项导入,但再次 deps/ 它寻找 exs 文件。有没有其他方法可以解决这个问题?

【问题讨论】:

    标签: elixir phoenix-framework elm


    【解决方案1】:

    如果您使用的是 git,您可能需要为此使用 git submodules。它允许您在现有的存储库中嵌入一个单独的存储库。

    因此,您基本上可以正常使用 Phoenix 应用,将 Elm 应用作为子模块包含在内,然后在您的 brunch-config.js 中,通过 elm-brunch 插件引用 Elm 应用。

    elmBrunch: {
      mainModules: ['../path/to/submodule/Main.elm'],
      outputFolder: 'web/static/js/',
      makeParameters: ['--debug']
    }
    

    【讨论】:

      【解决方案2】:

      Phoenix 附带 Brunch 作为资产管理器。我已成功使用 Brunch 将我的 Elm 代码编译成 JS 包。然后我可以将该 JS 导入我的 Phoenix HTML 模板并使用 standard method 放置 Elm 应用程序。

      我最近写了一个blog post on putting the pieces together。这篇文章包含一个指向 github repo 的指针,并附有示例。我希望这对您遇到的问题有所帮助。

      我的方法的主要区别在于 Elm 和 Phoenix 代码在同一个 repo 中,但我认为只要你可以定义从 Phoenix repo 到 Elm repo 的一致相对路径,你就可以让 brunch 工作。

      【讨论】:

      • 谢谢!我了解如何使用早午餐将 elm 应用程序嵌入到 phoenix 应用程序中,问题是如何将它们分成不同的存储库。您能否解释一下您的意思:“定义从 Phoenix 存储库到 Elm 存储库的一致相对路径”?
      • 早午餐配置要求您使用如下声明指定 Elm 存储库的路径:elmFolder: 'elm',我认为您可能可以将 elm 和 phoenix 存储库克隆到同一个父目录,然后使用相对路径从 Phoenix 存储库指向 elm 存储库。也许:elmFolder:'../' 我还没有真正尝试过这个。我最终将我的两个项目结合起来以使这更容易。但我完全理解将他们分开的愿望。
      猜你喜欢
      • 2021-05-13
      • 1970-01-01
      • 2016-12-27
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      相关资源
      最近更新 更多