【问题标题】:Compile Less with Node, with dynamic variables使用 Node 编译 Less,使用动态变量
【发布时间】:2015-06-12 06:14:17
【问题描述】:

我正在使用 NodeJS 构建一个 SaaS 项目,我需要使用 LESS 动态构建 CSS。我希望能够在每次构建 css 时更改一些较少的变量。变量来自数据库,每个用户的变量可能不同(因此我的预构建静态 css 文件不起作用)。

到目前为止,我已经找到了以下解决方案:

1) 读取包含导入的 main.less 文件,并从那里解析。无法更改变量。

2) 将我所有的 less 文件读入一个字符串,将我的自定义变量附加到字符串上并解析它。为此,我需要将我所有的 less 文件放入一个字符串中,而仅指向 main.less 文件是无法做到的。我需要创建一个需要为每个新文件添加的文件列表。

有没有一种工具可以让我两者兼得?我想指向我的 main.less 文件,添加我的自定义变量,解析它并将结果发送到浏览器。

【问题讨论】:

    标签: css node.js less


    【解决方案1】:

    npm 上的 'less' 包将执行此操作。您可以简单地在选项字段中传递自定义变量。尽管您必须注意您的 less 文件中的路径名,但它们必须是绝对的,而不是相对的。

    var input = fs.readFileSync(__dirname + '/../private/css/main.less', 'utf8');
    
    var options = {
      modifyVars: {
        'var-name': '#000000'
      }
    };
    
    
    less.render(input, options, function (err, result) {
      // send response to end-user here
    });

    【讨论】:

    • 有没有办法使用express-less 包来实现这一点?还是在获取文件之前修改变量?
    猜你喜欢
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多