如何在Yii2中使用SASS/SCSS?

8

我想在一个新项目中使用Sass/Scss,但是它似乎不起作用。我正在使用yii2-asset-converter,在尝试转换Scss文件时,会抛出以下错误:

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

我正在检查路径../phamlp/,并注意到 sass 或 SassParser.php 文件夹不存在。SassParser.php 位于扩展程序 vendor/richthegeek/phpsass 中,这是 yii2-asset-converter 所需的。

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

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

但它没有起作用。经过多次尝试都未成功,希望你们中的一些人能够解决这个问题。

附注:我使用的是高级应用程序模板。

2个回答

5
请勿使用PhalmP或phpsass,它们已过时。特别是在使用现代Sass库时,您永远无法获得令人满意的结果。
请使用独立的原始Sass。
只需安装Ruby(您可能已经拥有它)和Sass,并使用sass命令行工具进行编译。
另外,使用Compass可能会让您的生活更轻松。 Compass有助于组织您的Sass代码,并提供了一个带有许多有用助手的Sass库。

0

你可以使用这个插件

但是你必须将你的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
                    ],
                ],
            ]
        ]
    ]

该插件还使用过时的编译器。 - Honsa Stunna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接