从JavaScript中检索或设置LESS变量?

dan*_*ani 4 css less

在测试我的网络应用程序时,我希望能够使用简单的下拉列表设置我的一个LESS @variables的值.(完全改变配色方案).

我想在设置值后,LESS必须用新值重新加载/重新编译.less文件?

有没有简单的方法来实现这一目标?(我没有运行node.js)

基本的例子是这样的:

styles.less
@base-color = `window.baseColor()`
Run Code Online (Sandbox Code Playgroud)

bzx*_*bzx 6

我觉得你这样做太复杂了;)

这是我的建议:

  1. 在body标签上设置一个类:

    <body class='theme_default'></body>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在.less文件中定义主题:

    body.theme_default { base_color: #fff; }
    body.theme_gray    { base_color: #ccc; }
    etc..
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用jQuery(或简单的JS)在下拉状态更改时更改body标记的类.

这就是我做的方式(并用一些漂亮的小部件替换下拉列表;)干杯