2014-04-01 85 views
2

我剛開始學習如何用Symfony2框架構建一個網頁。Yeoman vs Symfony

我已經習慣了使用由自耕農發生器提供咕嚕任務,處理緩存,縮小文件,拼接等

現在我知道,Symfony的有他自己的解決方案也是如此,即:資產()輔助,和資產。

據我所知,yeoman任務和Symfony方法似乎是不兼容的。

隨着symfony {{ asset('asset-src-path') }}語法,yeoman任務就無法工作。

我是否應該拋出整個工具,並使用Symfony輔助函數和過濾器?

我更喜歡yeoman,我習慣了它,我喜歡預處理資產的產品。現場。

注意:我必須使用assetic()助手,這樣我才能使用url重寫。

+0

好問題 - 我想這取決於你的項目結構。如果您在應用程序的前端和後端之間有明確的劃分,例如,您的前端是一個使用角度的單頁應用程序,而Symfony2是您的API層,顯然將應用程序分隔爲兩個項目/組件是有意義的。不過,我認爲你的情況並非如此?有趣的是,Symfony2還有一個yeoman生成器。也許值得一瞧? https://www.npmjs.org/package/generator-symfony –

+0

我檢查了,但它的資產是由絕對的網址,而不是項目相關的。 所以:「/images/asd.png」而不是「{{asset('images/asd.png')}}」。 這絕對是一個不行。 感謝您的建議! ^^ – ZeeCoder

+1

Darn :)嗯,這是一個有趣的問題 - 而且似乎其他人也在思考類似的在線問題。如果你找到適合你的東西,絕對值得添加一個自己的答案! –

回答

1

據我所知,有沒有簡單的方法來實現我想要的。

幸運的是,沒有真正的理由來解決這個問題,因爲 - 正如我在我的問題中提到的 - Symfony有Assetic,這是一個很好的解決方案。

請注意,我在一個項目中嘗試了一個yeoman + symfony解決方案,它最終奏效了,但我認爲它確實不值得付出。

乾杯

0

約曼並沒有做任何你提到的東西,它只是一個可配置的發電機。所有yeoman都會提示開發人員提供幾個選項,然後只需下載,調整,而不是將大量文件轉儲到文件夾。它運行一次 - 這只是爲了搭建其他工具。

Grunt是使用Node.js構建的任務運行器。它有點像yeoman,它自動重複,但它接管了yeoman離開的地方。儘管yeoman在項目開始時運行,並且從不再運行(一般情況下),但grunt在開發過程中會不斷運行。這裏最大的區別是,yeoman的發電機和咕嚕聲任務幾乎沒有觸及對方 - yeoman不是爲咕嚕聲而建立的,反之亦然。例如,yeoman生成器可以創建一個很好配置的Gruntfile.js,但是由開發人員來擴充此Gruntfile.js以適應新的需求。

Symfony2是一個用PHP編寫的web框架。您可以使用yeoman腳手架Symofny2應用程序,並使用Grunt完成某些任務(儘管Symfony2自帶任務管理器,Grunt仍然在前端表現出色)。 Symfony2是一個非常豐富,動態的模塊星座,專門用於處理HTTP請求和響應(等等)。你可以編寫一個將Grunt連接到Symfony2的yeoman生成器,或者你可以使用Symfony2的控制檯組件來運行你的任務。

這三者都是靈活的,但它們不可互換:它們都關心不同的事情。

這也適用於你的鏈接的問題:Yeoman vs UrlRouting

+0

感謝您的長時間答覆!我知道這些工具之間的差異,我只是無法在Symfony模板中連接我的依賴關係,因爲我無法正確配置Yeoman生成的Grunt任務。由於我目前正在與Gulp合作,而且我正在對我的前端工作流程進行重構,所以我會盡量讓Symfony和wiredep一起工作。 (我更喜歡hashic命名的資產解決方案,而不是Assetic的手動「asset_version」更新。)我還發現這個鏈接可能是grunt的解決方案:https://github.com/stephenplusplus/grunt-wiredep/issues/108 – ZeeCoder

+0

對,你在問Yeoman + Symfony - 不是Yeoman與Symfony。 –

+0

是的,回想起來我覺得他們並沒有很好地合作,所以我認爲標題中的「vs」是合適的。 :)現在我認爲這有些過分誇張。 – ZeeCoder