簡體   English   中英

Symfony2-與AngularJS捆綁

[英]Symfony2 - Bundle with AngularJS

我正在研究一個主要基於Symfony2和Twig-Templates的項目。 我現在確實想寫一個基於AngularJS的新包。 也就是說,大多數站點的菜單和導航仍位於php / Twig中,但用戶列表應使用AngularJS編寫。 我讓AngularJS前端啟動並運行了一個看起來像這樣的文件結構:

  • 應用/
    • js /
      • app.js
    • 部分/
      • users.html
      • user_detail.html
    • index.html
  • bower_components /
  • ...

現在,我只想在Symfony2中的給定路由下顯示它。 有沒有辦法說我不希望Symfony中的任何Controller用於前端-只是靜態交付?

對於這樣的應用程序,一般合理的方法是什么? 我發現的大多數教程都假設整個站點都是用Angular編寫的,而不僅僅是一個捆綁包。

謝謝您的提示!

我以前使用過asoc/assetic-angular-js-bundleGitHub ),當與資產式過濾器配置一起使用時,意味着所有的部分代碼和腳本都被合並到一個文件中。

他們的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM