2017-06-02 32 views
2

我的團隊正在開發一個phoenix/elm應用程序,並決定將這兩個項目保存在單獨的回購站中,並且從鳳凰中指向elm應用程序應用程序。對我來說,這是一個新的領域,我一直在尋找不同的方式來完成這一點。我試過通過package.json作爲依賴項導入Elm應用程序,但我相信node_modules /不能識別Elm代碼。我也嘗試通過mix.exs將它作爲依賴項導入,但是又一次deps /它尋找一個exs文件。還有其他方法嗎?從github導入Elm前端到Phoenix後端

回答

2

如果您使用的是git,那麼您可能需要使用git submodules。它允許你在現有的倉庫中嵌入一個單獨的倉庫。

因此,您可以像平常一樣使用您的鳳凰應用程序,將Elm應用程序作爲子模塊,然後在brunch-config.js中,通過elm-brunch插件引用Elm應用程序。

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

Phoenix以Brunch作爲資產經理。我已成功使用Brunch將我的Elm代碼編譯成JS包。然後,我可以將該JS導入到我的Phoenix HTML模板中,並使用standard method放置Elm應用程序。我最近寫了一個blog post on putting the pieces together。本文包含一個指向github repo的指針。我希望這將有助於解決您遇到的問題。

與我的方法的主要區別在於,我在同一回購庫中擁有Elm和Phoenix代碼,但我認爲只要您可以定義從Phoenix回購到Elm回購的一致相對路徑,就可以使早午餐工作。

+0

謝謝!我瞭解如何在早午餐的鳳凰應用程序中嵌入一個榆樹應用程序,問題是如何將它們分離到不同的回購站中。你能解釋一下你的意思嗎?「定義一個從鳳凰城回購到榆木回購的一致的相對路徑」? –

+0

早午餐配置要求你指定你的榆樹回購的路徑與聲明是這樣的: elmFolder:「榆樹」, 我在想,你也許可以克隆你都榆樹和鳳凰回購到相同的父目錄然後使用相對路徑指向Phoenix回購的榆木回購。也許: elmFolder:'../ ' 我還沒有真正嘗試過。我結束了我的兩個項目,以使這更容易。但我完全理解將它們分開的願望。 –