2014-10-10 92 views
27

作爲Elixir和一般Web域的新手(沒有Web框架經驗),我想知道什麼是Plug?據我瞭解,牛仔是一個網絡服務器(儘管在Erlang,而不是Elixir),Phoenix是一個構建網絡應用程序的框架,但Plug進來了什麼地方?它是兩個抽象層還是與Phoenix相同的抽象層中的插件系統?什麼是Elixir Plug?

回答

37

它是兩個

是之間的抽象層,正好!插件旨在成爲不同Web服務器的通用適配器。目前我們只支持牛仔,但有支持他人的工作。

插頭還定義了不同的組件應該如何插在一起。類似於Ruby中的Rack,Python中的WSGI,Clojure中的Ring等等。

+0

好的。據我所知,WSGI是一個接口規範。 Is Plug是相同的還是它是一個實際的軟件組件,位於例如鳳凰和牛仔?並且插頭如何相互作用,它們是否被疊加? – stoft 2014-10-13 21:14:17

+5

插頭是*都是*。它是介於兩者之間的組件,它也定義了一個規範。插頭沒有堆疊,它更像一個管道,其中一個插頭將切斷與下一個插頭的連接。 – 2014-10-14 08:39:27

相關問題