2017-04-14 50 views
2

所以我寫了幾個超級簡單的應用程序在榆樹。但他們完全是榆樹。我想知道的是,如果我可以在elm中創建模塊並在我的javascript項目中使用它們。我經常製作和維護我爲客戶使用的項目中的開源項目。這有助於加快我的工作,同時也向我反饋了社區如何改進這些項目。這是一個偉大的互利。我有一個項目,我相信可以從使用榆木真正受益,但我需要將它作爲我的生產項目中的一個模塊,因爲我不能簡單地將這些應用程序移植到榆樹,也不能說服我的大多數客戶說榆樹足夠流行使它成爲一個很好的決定,用於他們的項目。有沒有在JavaScript中使用elm模塊的方法?

所以我很想知道是否可以使用elm創建可以在JavaScript中使用的模塊,與您如何製作可以在您的vanilla JS中使用的打印模塊相同的效果非常好奇。

+0

我想這是你在找什麼:https://guide.elm-lang.org/interop/javascript.html – peinearydevelopment

回答

3

你的意思是使用JavaScript實現的Elm函數嗎?

然後,這是我對我的項目所做的。

您可以使用Platform.program對您的Elm項目進行編碼。

main : Program Never Model Msg 
main = 
    Platform.program 
    { init = init 
    , update = update 
    , subscriptions = subscriptions 
    } 

,那麼你可以加載編譯代碼,並與 編譯的模塊通過port從你的JavaScript項目互動。

// load main Elm script 
const app = require('./elm').Main.worker() 
app.ports.test.subscribe(....... 
+0

很有意思,所以它好像你通過一個通道的模塊進行通信。 – tsturzl

相關問題