創建可重複使用/共享的功能是Grails作爲開發框架的關鍵優點之一。您絕對應該從一開始就考慮功能的模塊化,併爲插件的創建和使用進行設計。
正如你猜測的那樣,你使用grails插件來達到這個目的。我們開發了一個內部生態系統,其中包括(目前)大約30個插件,每個插件都提供了一個特定的功能。我們還推出了Grails插件中可見的一些模式,使得基本功能(域和服務)與用戶界面(控制器,標籤庫和視圖)保持分離。例如,我們有以下插件:
arkCore - Core datatypes, domains and services
arkComponents - Common UI controls
arkDocument - Document management datatypes, domains and services
arkDocumentUi - Document management user interface
在這種情況下arkDocument取決於arkCore和arkDocumentUi取決於arkDocument和arkComponents。
Grails可以創建應用程序或插件項目。我的建議是
- 在一個應用程序開發您的功能開始。
- 讓它以某種基本形式工作。
- 創建一個插件項目並將應用程序中的所有相關工件移動到插件中。
- 將插件發佈到本地存儲庫。
- 更新項目BuildConfig.groovy以引用與任何其他Grails插件相同的插件。
你需要做以下的事情,才能熟練使用的插件:
- 閱讀並理解Grails文檔的插件部分
- 獲取並安裝Artifactory的,作爲一個私人插件庫你的發展。如果只是你,那麼你可能只考慮使用本地Maven倉庫,並使用maven-install而不是publish-plugin。
- 查看一些第三方開發的插件示例。他們通常很直接。
謝謝Steve! – 2014-09-13 14:08:49
謝謝你的美麗解釋史蒂夫。關於模塊化Grails應用程序,我還有一些疑問。請回答這個http://stackoverflow.com/questions/34249297/differences-between-adding-a-project-as-dependency-and-as-a-plugin – Prabhath 2015-12-13 08:31:39
@Steve你能告訴如何添加一個插件到grails 2.5項目已經到位,或者你可以給我一個實例。 – 2015-12-14 11:13:36