scssphp/server

即时 .scss 编译的服务器

1.10.1 2022-12-23 20:50 UTC

This package is auto-updated.

Last update: 2024-08-24 00:33:19 UTC


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();