less 记录

Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。

1安装

npm install -g less

新建less文件

@width: 10px;
.box {
    width: @width;
    height: @width * 2;
}

 

2编译成css

执行命令

lessc theme.less theme.css

执行命令后生成 未压缩 theme.css文件

.box {
  width: 10px;
  height: 20px;
}

 

lessc 参数

lessc -h

--no-color   Disables colorized output.
--ie-compat   Enables IE8 compatibility checks.
--js    Enables inline JavaScript in less files

 

3插件

安装

npm install -g less-plugin-clean-css

执行命令

lessc theme.less theme.css --clean-css

生成 压缩的 theme.css

.box{width:10px;height:20px}

 

命令选项

--clean-css=advanced

--clean-css=rebase

暂时不知什么区别

 

4使用nodejs 

var less = require('less');
var fs = require('fs');
var LessPluginCleanCSS = require('less-plugin-clean-css');


// 用法1 -未压缩
fs.readFile('theme.less', function(err, res) {
    if(err) {
        console.log(err);
    } else {
        console.log(res.toString());
        // 转为css
        less.render(res.toString(), function (error, output) {
            if(error) {
                console.log(err);
            } else {
                fs.writeFileSync('theme.css', output.css);
            }
        });
    }
});


// 用法2 压缩的
fs.readFile('theme.less', function(err, res) {
    if(err) {
        console.log(err);
    } else {
        console.log(res.toString());
        // 转为css
        less
            .render(res.toString(), { 
                javascriptEnabled: true, 
                plugins: [new LessPluginCleanCSS({advanced: true})]
            })
            .then(output => {
                fs.writeFileSync('theme.min.css', output.css);
            })
            .catch(error => {
                console.log(error);
            });
    }
});

 

posted @ 2021-09-10 16:52  litiyi  阅读(33)  评论(0编辑  收藏  举报