栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用PHP自动将引用的LESS文件编译为CSS

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用PHP自动将引用的LESS文件编译为CSS

该组件LESSPHP v0.3.8 + 不确定较早的版本,但是如果不立即使用它,您将了解其工作原理。

<link rel="stylesheet" type="text/css" href="styles/main.less" />

如果您使用less.js来编译客户端,请确保更改

rel="stylesheet/less"
rel="stylesheet"

1)Grab
Lessphp我将这些文件放在

/www/compilers/lessphp/
此演示的上下文中

2)创建一个PHP脚本,我们可以将其丢弃。这将处理缓存,编译为CSS并返回CSS作为响应。我已经把这个文件的

/www/compilers/
,并把它称为
lessphp.php

这段代码大部分都在Lessphp网站上,除了其中有错误之外,我在最后添加了响应。

<?phprequire "lessphp/lessc.inc.php";$file = $_GET["file"];function autoCompileLess($inputFile, $outputFile) {    // load the cache    $cacheFile = $inputFile.".cache";    if (file_exists($cacheFile)) {        $cache = unserialize(file_get_contents($cacheFile));    } else {        $cache = $inputFile;    }    $less = new lessc;    $less->setFormatter("compressed");    $newCache = $less->cachedCompile($cache);    if (!is_array($cache) || $newCache["updated"] > $cache["updated"]) {        file_put_contents($cacheFile, serialize($newCache));        file_put_contents($outputFile, $newCache['compiled']);    }}autoCompileLess('../' . $file, '../' . $file . '.css');header('Content-type: text/css');readfile('../' . $file . '.css');?>

这会将LESS文件(例如,

styles/main.less
)编译为缓存文件和CSS文件(例如,
styles/main.less.css
)。

3)添加一条

mod_rewrite
规则,以便将用户请求的所有LESS文件重定向到我们的编译器,并为其指定路径。这被放置在根
.htaccess
文件中。

<IfModule mod_rewrite.c>    RewriteEngine On    Rewritebase /    RewriteRule ^([^.]*.less)$ compilers/lessphp.php?file=$1 [R,QSA,L]</ifModule>

如果您使用的是WordPress,则需要遵循此规则-即使WordPress位于子目录中,它似乎也会覆盖这些规则,并且对于(在目录方面)WordPress

.htaccess
规则下的引用文件,不会进行LESS编译。

4)您的LESS代码应相对于编译器位置进行相对引用。另外,如果有空属性,例如,Lessphp编译器将失败。

background-color: ;


如果一切正常,则应进行以下操作:

  1. 直接浏览您的LESS文件

    http://domain.com/styles/main.less

  2. 自动重定向到

    http://domain.com/compilers/lessphp?file=styles/main.less

  3. 呈现最小的CSS

  4. main.less.css
    main.less.cache
    现在应该在同一个目录中存在作为你的LESS文件

  5. 除非您更新LESS文件,否则上次修改日期不应更改



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/383228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号