【问题标题】:Merge scss and css file into one with assetic用assetic将scss和css文件合并为一个
【发布时间】:2016-01-11 02:23:18
【问题描述】:

我想知道是否可以将 css 和 scss 文件合并为一个。 我使用 Symfony 2.7,我的 config.yml 看起来像这样:

assetic:
    assets:
        main:
            inputs:
                - %kernel.root_dir%/../vendor/morrisjs/morris.js/morris.css
                - %kernel.root_dir%/../vendor/twbs/bootstrap-sass/assets/stylesheets/*
            output: 'css/main.css'
            filters:
                - sass
                - cssrewrite
    filters:
        cssrewrite: ~
        sass:
          bin: C:\Ruby21-x64\bin\sass
          apply_to: "\.scss$"

当我尝试转储资产时

php app/console assetic:dump

我有一个错误,因为 sass 正在尝试解析 css 文件。 为什么“apply_to”不起作用?

我看到了this post,但它对我没有帮助...

【问题讨论】:

  • 你的错误是什么?发布错误文本...
  • 这个错误并不重要,这和你尝试用 sass 解析 css 文件时遇到的错误相同:'Error Output: WARNING on line 1 of C:\cygwin64\tmp\ass2DDF.tmp: This selector doesn't have any properties and will not be rendered. WARNING on line 2 of C:\cygwin64\tmp\ass2DDF.tmp: This selector doesn't have any properties and will not be rendered. Error: Invalid CSS after ".morris-hover": expected selector, was "{position :absol..."

标签: css symfony sass assetic


【解决方案1】:

由于您使用的是 apply_to 参数,我认为您应该从资产节中明确删除 sass 过滤器:

assetic:
    assets:
        main:
            inputs:
                - %kernel.root_dir%/../vendor/style.css
                - %kernel.root_dir%/../vendor/sass/*
            output: 'css/main.css'
            filters:
                - cssrewrite
    filters:
        cssrewrite: ~
        sass:
          bin: C:\Ruby21-x64\bin\sass
          apply_to: "\.scss$"

例如查看issue

【讨论】:

  • 你是对的!我没有发现这个问题,但它有效。我只是对此感到不舒服,因为它看起来像是隐藏的,但是谢谢!