如何在Yii2中使用SASS / SCSS?

时间:2014-09-05 23:14:20

标签: sass yii2

我想在一个新项目中使用sass / scss,但它在某种程度上不起作用。 我正在使用yii2-asset-converter,当我尝试转换scss文件时,抛出以下错误:

Class @app/extensions/assetparser/vendors/phamlp/sass/SassParser does not exist

我正在检查路径../phamlp/并注意,文件夹sass resp。 SassParser.php并不存在。 SassParser.php位于扩展供应商/ richthegeek / phpsass中,这是yii2-asset-converter所需要的。

我尝试了一些路径,例如: @ vendor/richthegeek/phpsass

__DIR__/../../vendor/richthegeek/phpsass

但它并没有奏效。经过多次不成功的尝试,我希望你们中的一些人知道如何解决这个问题。

PS:我使用的是高级应用模板

2 个答案:

答案 0 :(得分:5)

不要使用PhalmP或phpsass。这些已经过时了。你永远不会得到令人满意的结果,特别是在使用现代Sass库时。

将原始Sass作为独立使用。

只需安装Ruby(您可能已经拥有它)和Sass并使用sass命令行工具进行编译。

此外,使用Compass可能会让您的生活更轻松。 Compass帮助组织您的Sass代码,并为Sass库提供了许多有用的帮助。

答案 1 :(得分:0)

您可以使用this plugin

但是你必须在单个文件中组合你的sass代码。

以下是config / web.php

的示例
'assetManager'=>[
        'converter'=>[
            'class'=> 'nizsheanez\assetConverter\Converter',
            'force'=> true, // true : If you want convert your sass each time without time dependency
            'destinationDir' => '', //at which folder of @webroot put compiled files
            'parsers' => [
                'scss' => [ // file extension to parse
                    'class' => 'nizsheanez\assetConverter\Scss',
                    'output' => 'css', // parsed output file type
                    'options' => [ // optional options
                        'enableCompass' => true, // default is true
                        'importPaths' => ['/sass','/sass/_offers'], // import paths, you may use path alias here,
                        // e.g., `['@path/to/dir', '@path/to/dir1', ...]`
                        'lineComments' => true, // if true — compiler will place line numbers in your compiled output
                        'outputStyle' => 'expanded', // May be `compressed`, `crunched`, `expanded` or `nested`,
                        // see more at http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
                    ],
                ],
            ]
        ]
    ]