我正在探索将代码库重构为Symfony的选项。这个应用程序是建立在很多Sencha前端代码、自定义PHP框架等之上的。
我创建了一个捆绑包AeroBundle,并将我的整个遗留应用程序放到了这个捆绑包的一个名为"_Legacy“的文件夹中。
我正在尝试实现布局模板,并希望使用以下内容调用许多CSS/JS文件中的第一个:
{% stylesheets
"@AerospaceBundle/_Legacy/public/common/extjs/resources/css/ext-all.css"
%}
{% endstylesheets %}但我什么也得不到?
根据Symfony (即:资源)移动我的aassets将使持续的开发和重构成为一个巨大的挑战。理想情况下,我可以将我的遗留应用程序包含在一个文件夹中,这样当进行更改时,我可以直接将它们放到这个遗留文件夹中-这是从上面的内容解析客户端资产开始的。
有没有关于如何实现这一点的想法?我需要显式地指出资源的内部包路径-我不想将JS/CSS移动到bundles resources目录-除非绝对需要-在这种情况下,我可能不得不重新考虑我的策略。
编辑|我只是意识到这个片段是一个块,这是在基本模板中完成的,所以这可能是为什么它没有呈现任何东西?如何包含自定义目录中的单个样式表?
发布于 2017-07-12 16:02:05
使用assetic,您可以使用类似的东西
assetic:
debug: '%kernel.debug%'
use_controller: '%kernel.debug%'
filters:
cssrewrite: ~
assets:
merged_js:
inputs:
- "%kernel.root_dir%/../web/js/jquery.min.js"
- "%kernel.root_dir%/../vendor/twitter/bootstrap/dist/js/bootstrap.js"
- "%kernel.root_dir%/../web/js/bootstrap-toggle.min.js"
- "%kernel.root_dir%/../web/js/bootstrap-slider.min.js"
- "%kernel.root_dir%/../web/js/angular.min.js"
- "%kernel.root_dir%/../web/js/app.js"
- "%kernel.root_dir%/../vendor/tinymce/tinymce/tinymce.js"
- "%kernel.root_dir%/../vendor/tinymce/tinymce/themes/modern/theme.js"
merged_css:
inputs:
- "%kernel.root_dir%/../web/css/custom.css"
- "%kernel.root_dir%/../web/css/bootstrap-toggle.min.css"
- "%kernel.root_dir%/../web/css/bootstrap-slider.min.css"
- "%kernel.root_dir%/../vendor/tinymce/tinymce/skins/lightgray/content.min.css"
filters: [cssrewrite]然后在树枝上
{% stylesheets '@merged_css' %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}"/>
{% endstylesheets %}
{% javascripts '@merged_js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}但老实说,最近我一直在像gulp这样的预处理器上做这样的事情。这样,我的服务器端代码就可以从运行时不会做太多工作的客户端代码中清理出来。更不用说assetic的支持正在慢慢减少,symfony正在转向具有encore和webpack的预处理器
https://stackoverflow.com/questions/45001099
复制相似问题