在意識到無法在我們當前的prod服務器上安裝Bower之前,我們已經開始使用Bower(通過SpBower)來管理我們的js和css庫。僅包含傾銷文件的資產資產
這個想法不是在prod服務器上生成文件,而是在dev環境中轉儲prod文件並上傳這些轉儲的文件。但即使在PROD模式,Assetic正在尋找的源文件和亭子註冊這些供應商的文件,所以Assetic拋出此異常
(Twig_Error_Syntax(code: 0): An exception has been thrown during the compilation
of a template (\"There is no \"jquery_js\" asset.\")
凡jquery_js是鮑爾註冊後以這種方式
{% javascripts output='js/vendor-1.js'
'@jquery_js'
'@jquery_ui_js'
'@chartjs_js'
'@Chart_StackedBar_js_js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
被稱爲有一種方法可以告訴資產忽略資產(jquery_js,jquery_ui_js ...)只查看輸出文件(vendor-1.js)?我在Symfony2食譜中找不到任何東西。
下面是config.yml
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ ProjectBundle ]
filters:
cssrewrite: ~
sp_bower:
assetic:
nest_dependencies: false
bundles:
ProjectBundle:
asset_dir: ../../public/vendor
cache:
id: ~
directory: ../../public/vendor/cache
而且在config_dev.yml
assetic:
use_controller: false
還有bower.json文件
的內容Assectic和Sp鮑爾節{
"name": "ProjectBundle",
"dependencies": {
"jquery": "~2.0",
"jquery.countdown": "~2.0",
"jquery-ui": "~1.11",
"bootstrap": "~3.0",
...
}
}
呃,如果你不想Assetic創建從源文件中的'output'文件,你到底想要做什麼? – lxg
假設我有2臺服務器,1臺爲dev,1臺爲prod。我想使用Assetic和Bower在開發服務器上生成輸出文件,並在prod服務器上僅上傳生成的輸出文件(並非所有源已經彙總在輸出文件中)。 –
好吧,我明白了...我現在明白你的問題。您可以發佈一個使用bower過濾器(例如生成'@ jquery_js')的示例文件,以及'config.yml'中的'assetic'部分嗎? – lxg