[英]Symfony2 - Bundle with AngularJS
我正在研究一個主要基於Symfony2和Twig-Templates的項目。 我現在確實想寫一個基於AngularJS的新包。 也就是說,大多數站點的菜單和導航仍位於php / Twig中,但用戶列表應使用AngularJS編寫。 我讓AngularJS前端啟動並運行了一個看起來像這樣的文件結構:
現在,我只想在Symfony2中的給定路由下顯示它。 有沒有辦法說我不希望Symfony中的任何Controller用於前端-只是靜態交付?
對於這樣的應用程序,一般合理的方法是什么? 我發現的大多數教程都假設整個站點都是用Angular編寫的,而不僅僅是一個捆綁包。
謝謝您的提示!
我以前使用過asoc/assetic-angular-js-bundle
( GitHub ),當與資產式過濾器配置一起使用時,意味着所有的部分代碼和腳本都被合並到一個文件中。
他們的github頁面說要在樹枝模板中使用以下內容。
{% javascripts filter="angular"
'@BundleName/Resources/views/aTemplate.html.ng'
'@BundleName/Resources/views/fooTemplate.html.ng'
'@BundleName/Resources/views/moarTemplates/*.html.ng'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
但是,如果您使用..
// app/config/config.yml
assetic:
filters:
angular:
apply_to: "\.ng$"
resource: %kernel.root_dir%/../vendor/asoc/assetic-angular-js-bundle
/Asoc/AsseticAngularJsBundle/Resources/config/assetic.xml
// This is all one line
// Not sure why this was needed, I vaguely remember
// assetic not being able to find to config
然后,您可以像這樣在Twig javascripts部分中調用您的局部變量。
{% javascripts
'@BundleName/Resources/views/angular-app.js'
'@BundleName/Resources/views/angular-controllers.js'
'@BundleName/Resources/views/some-other-stuff.js'
'@BundleName/Resources/views/aTemplate.html.ng'
'@BundleName/Resources/views/fooTemplate.html.ng'
'@BundleName/Resources/views/moarTemplates/*.html.ng'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
然后,我想您可以將以上內容包含在想要顯示的一個樹枝視圖中,也可以將其包含在所有模板中(取決於您要如何處理腳本緩存以及什么不想要),然后調用它使用常規的ng-view
UserListController
類型標簽。
抱歉,這與您的要求無關。 在我開始寫這篇文章時,它意義非凡,但我如何看待它,就好像我剛剛走了一條完整的切線。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.