symfony2捆绑包公共资源URL
我已经编写了一个包含公共资产的包:图像、CSS和Javascript。 所有内容都存储在my bundle Resources/public/文件夹中 我启动了一个ascetic命令,在全局web项目文件夹中生成符号链接 我的问题是我的包名在图像、CSS和Javascript URL中可见。 有没有办法重写此URL。 我想通过以下URL访问我的CSS:symfony2捆绑包公共资源URL,symfony,assetic,Symfony,Assetic,我已经编写了一个包含公共资产的包:图像、CSS和Javascript。 所有内容都存储在my bundle Resources/public/文件夹中 我启动了一个ascetic命令,在全局web项目文件夹中生成符号链接 我的问题是我的包名在图像、CSS和Javascript URL中可见。 有没有办法重写此URL。 我想通过以下URL访问我的CSS: 第二个问题:直接在全局web项目文件夹中写入文件是一件好事吗?如果使用Symfony的内置命令资产:安装命令,它将更改: <script
第二个问题:直接在全局web项目文件夹中写入文件是一件好事吗?如果使用
Symfony
的内置命令资产:安装命令,它将更改:
<script src="{{ asset('js/script.js') }}" type="text/javascript"></script>
进入(生产模式)
我想它解决了url中捆绑包名称的问题
至于将js文件直接放在主web文件夹中:这不是一个好主意,因为所有内容都应该是特定于包的,所有代码都放在包中,所以您的资产也应该放在包中
有关assets:install
和assetic:dump命令之间差异的其他说明,请查看答案使用assetic。在细枝模板中使用:
{% stylesheets '@MyBundle/Resources/public/css/app.css'
'@MyBundle/Resources/public/css/additional.css'
output='mycss.css' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
您可以对图像进行相同的尝试:
assetic:
assets:
image-background:
inputs: '@AppBundle/Resources/images/back.jpg'
output: 'images/back.jpg'
在您的情况下(ascetic:dump),URL不正确,因为js文件名已更改。我认为这是为了避免文件名冲突。我真的很想知道:如果你的脚本名称不会被更改(script.js
),你在更改任何内容时都会遇到问题-script.js
将存储在用户浏览器的缓存中,并且在您更改任何内容后它不会刷新(因为名称是相同的),这很好,但是我应该如何处理背景图像URL呢?这些url存储在css文件中。我不能把任何{%}放在css文件中…你能在你的答案中展示一下这个例子,看看字体和图像是如何实际使用的吗?比如css文件或html文件等。。。
<script type="text/javascript" src="/js/as5s31l.js"></script>
{% stylesheets '@MyBundle/Resources/public/css/app.css'
'@MyBundle/Resources/public/css/additional.css'
output='mycss.css' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
assetic:
assets:
font-awesome-otf:
inputs: '@AppBundle/Resources/fonts/FontAwesome.otf'
output: 'fonts/FontAwesome.otf'
assetic:
assets:
image-background:
inputs: '@AppBundle/Resources/images/back.jpg'
output: 'images/back.jpg'