scssphp / server
即时 .scss 编译的服务器
1.10.1
2022-12-23 20:50 UTC
Requires
- scssphp/scssphp: ^1.10
Requires (Dev)
- phpunit/phpunit: ^5.7 || ^6.5 || ^7.5 || ^8.3
- squizlabs/php_codesniffer: ~2.5
README
如果您只想尽快开始提供编译后的 scss
文件服务,请从这里开始。 scssphp/server 项目提供了一个易于使用的示例,演示了如何自动编译 scss
文件并将它们从您指定的目录中提供服务。
创建一个文件,例如 style.php
use ScssPhp\Server\Server;
$directory = "stylesheets";
$server = new Server($directory);
$server->serve();
创建脚本旁边的目录,然后添加您的 scss
文件。
默认情况下,scssphp 期望在样式表目录中存在一个名为 scss_cache
的目录,其中将缓存编译后的输出。这样,它可以在没有修改的情况下快速提供服务。您的 PHP 脚本必须对 scss_cache
有写入权限。
访问 URL example.com/style.php/style.scss
将尝试从 stylesheets
目录编译 style.scss
,并以 CSS 的形式提供服务。
如果找不到文件,它将返回 HTTP 404 页面
/* INPUT NOT FOUND scss v0.0.1 */
如果由于错误无法编译文件,则返回 HTTP 500 页面。类似于以下内容
Parse error: failed at 'height: ;' stylesheets/test.scss on line 8
此外,因为 SCSS 服务器写入头信息,请确保在它运行之前没有写入任何输出。
构造函数
使用 Server
构造函数来指定缓存目录,甚至可以使用用于编译 SCSS 的 Compiler
实例。
new Server($sourceDir, $cacheDir, $scss)
创建一个新的服务器,它从$sourceDir
提供文件。缓存目录是放置缓存编译文件的目录。当null
时,使用$sourceDir . '/scss_cache'
。$scss
是用于编译的scss
实例。
只需调用 serve
方法即可使其渲染输出。
以下是一个创建输出压缩 CSS 的 SCSS 服务器的示例
use ScssPhp\ScssPhp\Compiler;
use ScssPhp\Server\Server;
$scss = new Compiler();
$scss->setOutputStyle(\ScssPhp\ScssPhp\OutputStyle::COMPRESSED);
$server = new Server('stylesheets', null, $scss);
$server->serve();