ikkez / f3-assets-sass

PHP Fat-Free Framework Assets 插件的 SASS 扩展

1.0.6 2020-04-25 14:03 UTC

This package is auto-updated.

Last update: 2024-08-25 22:57:11 UTC


README

这是一个扩展,为Assets 管理插件添加 SASS/SCSS 编译器,适用于PHP Fat-Free Framework

安装

当 F3-Assets 已经运行时,只需运行composer require ikkez/f3-assets-sass。如果您不使用 composer,请将assets/文件夹复制到您的AUTOLOAD路径中,并单独安装scssphp/scssphp即可。

使用方法

要注册 SASS 编译器,只需将此行添加到您的视图控制器中,或者您放置主资产插件初始化的地方。

// register sass handler
\Assets\Sass::instance()->init();

在您的模板中,您可以轻松地直接使用 .scss 文件,就像它们是正常的 CSS 文件一样。

<link rel="stylesheet" href="scss/main_styles.scss">

就是这样。编译、压缩和与其他文件的合并现在由资产插件处理。SASS 文件的基准目录也可以用作导入路径,因此您可以在 SASS 文件中使用 @import 来加载其他相对 SASS 文件。因此,重新编译整个 Bootstrap 前端不再成问题。

<link rel="stylesheet" href="components/MDBootstrap/sass/mdb.scss">

使用 @include 文件的一个缺点是,目前无法自动检测这些文件的变化,因此主 SASS 文件不会实时更新。然而,您可以通过添加 watch 属性并定义一个或多个要扫描文件变化的路径来解决这个问题 - 支持通配符。

<link rel="stylesheet" href="components/MDBootstrap/sass/mdb.scss" watch="custom.scss">

<link rel="stylesheet" href="components/MDBootstrap/sass/mdb.scss" watch="custom.scss, addons/*.scss">

注意:在处理文件时才应考虑使用 watch-属性,因为扫描文件修改时间对于生产环境不是必要的,并且根据要扫描的文件数量,可能会减慢速度。如果您需要在生产环境中刷新文件,建议使用 \Assets::instance()->clear(); 清除临时文件,而不是主动查找变化。

如果您想程序化地添加 SASS 文件,您只需将它们视为正常的 CSS 文件即可。

$opt = [
  'watch'=>'ext/*.scss'
];
\Assets::instance()->add('scss/main_styles.scss', 'css', 'head', 5, NULL, $opt);

许可证

GPLv3