将两个 .less 文件合并为一个

2024-05-06

假设我少了两个文件,first.less

.a {
  .b {
    font-size: 13px;
  }
  color: lime;
}

and second.less

@import "first.less";
.a {
  font-family: sans-serif;
}

我想要一种将它们组合成一体的方法,合并树:

.a {
  .b {
    font-size: 13px;
  }
  color: lime;
  font-family: sans-serif;
}

所以,类似于编译.css,但保持.less结构。是否可以通过命令行工具、库或以编程方式完成?


@helderdarocha 的意思是,您可以编写本机 javascript 并使用 node.js 运行它。 参见例如http://lesscss.org/#using-less-usage-in-code http://lesscss.org/#using-less-usage-in-code and http://onedayitwillmake.com/blog/2013/03/compiling-less-from-a-node-js-script/ http://onedayitwillmake.com/blog/2013/03/compiling-less-from-a-node-js-script/

  1. 使用以下命令安装 less: npm install less (这将创建一个 node_modules 目录)
  2. 创建您的 secondary.less 文件
  3. 创建一个 test.js 文件,类似于:
    var less = require( 'less' );
    var fs = require( 'fs' );
    var parser = new less.Parser();
    fs.readFile( 'second.less', function ( error, data ) {
      var dataString = data.toString();
      parser.parse(dataString, function ( err, tree ) {
        if ( err ) {
          return console.error( err );
        }
        console.log( tree.toCSS() );
      });
    });
  1. 现在你可以运行:>>node test.js

上面将输出 CSS 代码,而不是您想要的 Less 代码。为了获得所需的结果,您应该使用 toLess() 函数扩展 less 代码,该函数可以在tree就像 toCSS() 一样。我想知道这是否是获得所需结果的最佳方法,您似乎想要的是某种选择器合并。请注意,Less 不会合并选择器(请参阅:https://github.com/less/less.js/issues/930 https://github.com/less/less.js/issues/930)。 也许还可以看看http://css2less.cc/ http://css2less.cc/合并选择器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将两个 .less 文件合并为一个 的相关文章