如何在Javascript中读取更少的变量?

如何在Javascript中读取更少的变量?,javascript,maven,less,Javascript,Maven,Less,我正在做一个项目,所有较少的变量都由Maven编译成Css。less文件中有许多颜色变量。我想从javascript访问这些颜色变量。在这种情况下,我可以定义颜色一次,并在css和javascript中使用它 有谁能帮我介绍一个Maven插件或一种读取Javascript中较少变量的方法吗 下面是一段代码片段,解释如何在JavaScript中访问较少的变量 //getLessVars::https://gist.github.com/2948738 /** *getLessVars将LESS变

我正在做一个项目,所有较少的变量都由Maven编译成Css。less文件中有许多颜色变量。我想从javascript访问这些颜色变量。在这种情况下,我可以定义颜色一次,并在css和javascript中使用它


有谁能帮我介绍一个Maven插件或一种读取Javascript中较少变量的方法吗

下面是一段代码片段,解释如何在JavaScript中访问较少的变量

//getLessVars::https://gist.github.com/2948738
/**
*getLessVars将LESS变量解析为Javascript(前提是在LESS中创建虚拟节点)
*@param{String}id列出变量的CSS id。
*@param{Boolean}[parseNumbers=true]尝试将单元解析为数字。
*@return{Object}包含较少变量的值对象。
*@example
*减:
* 	@myLessVariable:123px;
*#dummyLessId{width:@myLessVariable;}
*Javascript:
*getLessVars(“dummyLessId”);
*返回:
*{myLessVariable:123}
*/
函数getLessVars(id,parseNumber){
var bNumbers=parseNumbers==未定义?true:parseNumbers
,oLess={}
,rgId=/\\\\[\w-]+/
,rgKey=/\。([\w-]+)/
,rgUnit=/[a-z]+$/
,aUnits='em、ex、ch、rem、vw、vh、vmin、cm、mm、in、pt、pc、px、deg、grad、rad、turn、s、ms、Hz、kHz、dpi、dpcm、dppx'。拆分(','))
,rgValue=/:\s?(.*)\s?;\s?\}/
,rgStr=/^'([^']+)'$/
,sId='#'+id
,oStyles=document.styleSheets;

对于(var i=0,l=oStyles.length;iLess)也可以在客户端上使用。阅读他们的文档:

客户端使用 在浏览器中使用less.js对开发非常有用,但不建议在生产环境中使用 客户端是最简单的入门方式,适合使用较少的资源进行开发,但在生产环境中,当性能和可靠性非常重要时,我们建议使用node.js或许多可用的第三方工具之一进行预编译

首先,将.less样式表与rel属性设置为“stylesheet/less”链接:

接下来,下载less.js并将其包含在页面元素的标记中:

提示

确保在脚本之前包含样式表。 当您链接多个.less样式表时,每个样式表都是独立编译的。因此,您在样式表中定义的任何变量、混合项或名称空间在任何其他样式表中都是不可访问的。 由于浏览器的同源策略,加载外部资源需要启用CORS

少CDN

定义的变量可以在
less
data
或通过
less.Parser
或各种API中找到


对于一些
解析器
示例,请参见:

谢谢您的回答,但我正在进行一个大型项目,在呈现HTML之前,所有较少的文件都将编译为CSS。因此我无法访问HTML中较少的变量。我正在寻找一个解决方案,通过Maven读取较少的文件并自动生成json文件,然后也许我可以从javascript中读取它。我不知道这是一个好的解决方案还是有更简单的方法。你认为呢?