我使用Symfony 2.7,Assetic和LessCss。
在开发环境中,我的配置运行良好。生成所有css并将图像嵌入base64中。但是当我尝试使用php app/console assetic:dump --env=prod
为prod环境编译LessCss时,cssembed崩溃,因为他没有找到图像。
这是我的文件夹结构:
app
├── config
├── Resources
│ ├── less
│ │ ├── base.less
src
web
├── bundles
├── ui
│ ├── some-images.png
我的config.yml
# Assetic Configuration
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles:
- CnertaTutoPrestoBundle
#java: /usr/bin/java
filters:
less:
node: /usr/bin/node
node_paths: [/usr/lib/node_modules]
apply_to: "\.less$"
cssembed:
jar: %kernel.root_dir%/../vendor/scribe/cssembed-library/dist/cssembed.jar
cssrewrite: ~
assets:
base_style:
inputs:
- %kernel.root_dir%/Resources/less/base.less
filters:
- less
- cssrewrite
- cssembed
我的base.less
@pathWeb: "/../../../../web/ui/";
.user{
background-image: url("@{pathWeb}image.png");
}
奇怪的是,如果我为"/../../../../web/ui/"
更改"/../../../web/ui/"
(我刚删除了“../”),我可以为prod环境编译Css。但是LessCss不再适用于开发环境。
我真的不知道我的问题出在哪里。
答案 0 :(得分:0)
您检查过config_dev.yml文件了吗?可能存在与config.yml冲突的配置。
我之前遇到过一些资产问题,对你的问题很熟悉。检查
assetic: use_controller:true或false
在我的应用程序中,一切都很顺利。在config.yml中,use_controller:false 在config_dev.yml中,use_controller为true。
答案 1 :(得分:0)
嗯,好吧,
问题来自cssrewrite
。
如果我不使用它并且使用"../../../web/ui/"
更改我的图像路径,则一切正常。在开发和生产环境中。