Symfony Assetic, Lesscss and cssrewrite


Symfony Assetic, Lesscss and cssrewrite

我使用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/"一切正常。在开发和生产环境中。