我使用Symfony 2.8作爲我的單頁Web應用程序。我有一個文件index.html.twig
,它應該提供所有必需的資源。也許這很明顯,但我希望每一次在開發環境中重新加載所有內容,但不要在生產環境中重新加載。所述所需資源從位於vendor
文件夾中的另一個軟件包Resources
加載。Symfony2/Assetic:在導入的HTML文件的資產路徑中使用包註釋
出於這個原因,我在config.yml
配置Assetic爲陳述如下:
assetic:
debug: "%kernel.debug%"
use_controller:
enabled: "%kernel.debug%"
workers:
cache_busting:
enabled: "%kernel.debug%"
(我假設的調試只能在開發環境中啓用)
我加載所需的CSS /這樣的JavaScript:
{% stylesheets
'@StubbornShowaBundle/Resources/public/stubborn.css'
'@StubbornShowaBundle/Resources/public/showa.css' %}
<link type="text/css" href="{{ asset_url }}" rel="stylesheet" />
{% endstylesheets %}
{% javascripts
'@StubbornShowaBundle/Resources/public/stubborn.js'
'@StubbornShowaBundle/Resources/public/showa.js' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
..這似乎是按預期工作。但是,我也導入了HTML文件。像這樣:
<link href="{{ asset('@StubbornShowaBundle/Resources/public/polymer/my-component.html') }}" rel="import"/>
但是,上面的代碼不起作用。 @StubbornShowaBundle
註釋看起來好像不能在asset
命令中使用。另外,對於HTML導入,似乎沒有「循環方法」(或者任何你想調用stylesheets
,javascripts
和images
的東西)。如果我直接鏈接到有問題的文件,除了彎曲一個完全破壞與周圍代碼一致性的醜陋黑客外,我還會打破整個Symfony/Assetic自動處理資源重新排序系統並且調試變得混亂。我怎樣才能解決這個問題,而不是每次在調試時更改代碼都不會強制重新轉儲資產? (是否有可能以合理的方式解決?)
也許我的解釋不夠,但我意識到我可以安裝和轉儲的事實。我想知道的是如何直接鏈接到我的HTML導入,理想情況下與包含批註的樣式表和JavaScript相同。 – StubbornShowaGuy
您應該將您的資產與模板分開,資產用於使用像js,css,img's,asio等資源。併爲模板使用樹枝! ;-) –
你說得對,應該將模板用於模板,並且模板不應該與資產混合使用,但不是所有的HTML都是模板。 HTML只是意味着它是一個用超文本標記語言編寫的文件,在我的情況下,它是一個聚合物組件和一個外部庫。 – StubbornShowaGuy