我目前正在玩资产和symfony。我使用压缩和重写,我决定将我的资产(主要是javascript文件和css文件)放在捆绑中,因为它似乎是最佳实践(确认将被赞赏)。
在开发环境中,这项工作有一些配置,但我无法弄清楚如何生成编译资产。
我希望能够直接在src/domain_name/bundle_name/Resources/public/css
或src/domain_name/bundle_name/Resources/public/javascript
修改我的资产,并且可以立即在开发环境中检查这些修改。
我使用命令php app/console assetic:dump --watch
,但它似乎只检查了web/bundle/
目录中生成的文件。
所以我需要继续运行命令php app/console assets:install web
来复制资产。
事实上,这似乎是资产无法与捆绑符号(See last comment of kriss wallsmith here)一起使用的问题的结果。如果我能够使用该捆绑表示法,我想watch命令可以自动升级web目录中的资产,但不确定。
我如何引用树枝模板中的资源
{% stylesheets filter='?yui_css,cssrewrite' output='css/compiled/fullapplication.css'
'bundles/bundle_name/third-party/jquery.mobile-1.1.1/jquery.mobile-1.1.1.css'
'bundles/bundle_name/third-party/jquery.mobile-1.1.1/jquery.mobile.libri.theme.css'
'bundles/bundle_name/third-party/jquery.mobile-1.1.1/jquery.mobile.structure-1.1.1.css'
'bundles/bundle_name/css/global.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% javascripts filter='?yui_js' output='js/compiled/fullapplication.js'
'bundles/bundle_name/third-party/jquery/jquery-1.6.4.min.js'
%}
<script src="{{ asset_url }}" >
{% endjavascripts %}
知道在开发环境中处理资产时如何提高效率?我们要等资产中的捆绑表示法功能吗?
答案 0 :(得分:0)
将JS,CSS等直接放入bundle中是一种很好的做法,因为它们只用于该捆绑包。如果你有更普通的,也许最好将它们放在更一般的环境中(app?)
如果您想避免一次又一次地复制资产,可以使用--symlink
选项(php app/console assets:install web --symlink
)。
通过这种方式,每个对assets
,(如果不是)缓存的更改都可以直接用于应用。
对于表示法,您可以通过符号链接直接引用它们以避免使用bundle符号。