我想在一个新项目中使用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:我使用的是高级应用模板
答案 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
],
],
]
]
]