【问题标题】:Trying to build LESS (less css) using a build script with nodeJS尝试使用带有 nodeJS 的构建脚本构建 LESS (less css)
【发布时间】:2012-05-03 15:46:53
【问题描述】:

我们正在使用 NodeJS 来构建我们的项目。我们已将 LESS CSS 集成为项目的一部分。我们正试图保持我们的构建干净,并希望能够调用 lessc 命令(或类似的命令)来构建我们的 LESS 文件。

LESS 文档不是很深入,但希望与社区联系以找到解决方案。谷歌在这个话题上对我帮助不大。

我们有一个 build.sh 文件,它调用各种其他 build.js 文件(在各自的目录中)。如何运行 LESSC 来编译我的 LESS 文件?

【问题讨论】:

    标签: css node.js less


    【解决方案1】:

    使用 node.js

    var less = require('less')
        ,fs = require('fs');
    
    fs.readFile('style.less',function(error,data){
        data = data.toString();
        less.render(data, function (e, css) {
            fs.writeFile('style.css', css, function(err){
                console.log('done');
            });
        });
    });
    

    【讨论】:

      【解决方案2】:

      几年后...less@3.9.0 将输出返回为:

      {
        css: 'rendered css',
        imports: ['source.css']
      }
      

      更新后的代码如下所示:

      const outputFile = 'style-iso.css';
      
      const data = `.bootstrap-iso {
          @import (less) "style.css"; 
      } `;
      
      less.render(data, { strictMath: true }).then(
          output => {
              fs.writeFile(outputFile, output.css, err => {
                  if (err) {
                      throw err;
                  }
                  console.log(`${outputFile} saved!`);
              });
          },
          err => {
              console.error(err);
          });
      

      提示

      strictMath: true
      

      如果你想渲染 bootstrap.css

      是必须的

      【讨论】:

      • 好吧,如果我们真的关心像 3.9 这样的东西 - 那么strictMath 已被弃用。使用math: 'strict'math: 'parens-division'(推荐)。
      猜你喜欢
      • 2023-01-07
      • 2014-07-19
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      相关资源
      最近更新 更多