背景:我使用的是Ubuntu 12.04,PHP 5.5.1-2和Laravel 4。
当我跑步时:
php artisan basset:build
我收到错误
{"error":{"type":"ErrorException","message":"preg_match():
Compilation failed: nothing to repeat at offset 0",
"file":"\/home\/ryan\/MyApp6\/vendor\/jasonlewis\/basset\
/src\/Basset\/Filter\/Filter.php","line":241}}
我的问题与此类似:How to make less to work with basset in laravel 4?
但是,我已经尝试了LessphpFilter,并且我已经安装了node.js ...我可以手动编译带节点的样式表,但是对于我来说都不能通过basset工作。
例如,给出mytest.less:
@color:blue;
body{
background-color: red;
color:@color;
}
MyApp的/应用/配置/包/ jasonlewis /巴塞特/ config.php中
'collections' => array(
'mytest-css' => function($collection)
{
$collection->directory('assets/bs3/css', function($collection)
{
$collection->add('../less/mytest.less')->apply('Less');
})->apply('UriRewriteFilter')->setArguments(public_path());
},
...
当我在浏览器中拉出页面时,背景为红色,但文本仍为黑色。在Chrome devtools中,我可以看到已编译的css文件,但内容仍然是:
@color:blue;
body{
background-color: red;
color:@color;
}
我做错了什么?即使是关于如何跟踪此问题的暗示也将不胜感激 - 谢谢!
答案 0 :(得分:0)
LessphpFilter是我需要的,在app / config / packages / jasonlewis / basset / config.php中
我还需要添加一个前导斜杠,如下所示:
'Less' => array('LessphpFilter', function($filter)
{
$filter->whenAssetIs('/*.less')->findMissingConstructorArgs();
}),
我希望能帮到别人。