我使用Symfony 2.7,Assetic和LessCss。在开发环境中,我的配置运行良好。生成所有 css 并将图像嵌入到 base64 中。但是当我尝试使用 php app/console assetic:dump --env=prod
为生产环境编译 LessCss 时,cssembed 崩溃了,因为他找不到图像。
这是我的文件夹结构:
app
├── config
├── Resources
│ ├── less
│ │ ├── base.less
src
web
├── bundles
├── ui
│ ├── some-images.png
我的配置.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
我的基地
@pathWeb: "/../../../../web/ui/";
.user{
background-image: url("@{pathWeb}image.png");
}
奇怪的是,如果我将"/../../../../web/ui/"
更改为"/../../../web/ui/"
(我刚刚删除了一个"../"),我可以为生产环境编译 Css。但是 LessCss 不再适用于开发环境。
真的不知道我的问题从哪里来。
您是否检查了 config_dev.yml 文件? 可能存在与您的 config.yml 冲突的配置。
我以前在资产方面遇到过一些问题,对你的问题很敏感。检查
资产配置
资产: use_controller:对或假
http://symfony.com/doc/current/cookbook/assetic/asset_management.html#dumping-asset-files-in-the-dev-environment
在我的应用程序中,现在一切都很好。在 config.yml use_controller 中:假在config_dev.yml中,use_controller是正确的。
好吧,好吧,
问题来自cssrewrite
.如果我不使用它并且我更改了我的图像路径"../../../web/ui/"
一切正常。在开发和生产环境中。