如何在 Meteor 中动态更改 less 变量?

How do I dynamically change less variables in Meteor?

我在我的 Meteor 应用程序中加载了 Less 包,它工作正常。现在我需要允许我的应用程序的用户。覆盖我的 less 变量。我看过:

less.modifyVars({
    '@canvas': '#5B83AD'
});

但是我的应用程序。是说 'less is not defined'。有人可以建议如何做到这一点吗?

Less 文件只能修改到编译成 css 文件的程度。当您部署 Meteor 应用程序时会发生这种情况。

无法在运行时更改 less 变量。您将不得不操纵 DOM 。 Jquery 可以通过定位您要更改的 DOM 元素来做到这一点。您必须使用 class.

标记它们

这种方法适合您:

<div class="canvas"></div>

然后您可以在运行时使用 Jquery:

编辑它
$(".canvas").css({background: '#5B83AD'});

编辑:我认为您所指的代码是来自 https://github.com/less/less.js/. There's a bit more info under 'Client side usage' on http://lesscss.org/

less.js 客户端文件

这与 Meteor less 包有点不同,Meteor 在开发过程中是专门的服务器端编译器。

如果您下载了 less.js 文件(来自 https://github.com/less/less.js/archive/master.zip)并将它放在您的 /client/compatiblity 文件夹中,您可以按照您希望的方式使用它。请记住,您可能必须删除 Meteor less 包,因为您想要原始加载它们,您还需要手动引用它们,因为一旦您删除 less 包,Meteor 将忽略 less。