Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Web包角度应用中使用less的动态主题化_Angularjs_Webpack_Less_Theming - Fatal编程技术网

Angularjs Web包角度应用中使用less的动态主题化

Angularjs Web包角度应用中使用less的动态主题化,angularjs,webpack,less,theming,Angularjs,Webpack,Less,Theming,我已经构建了一个angular webpack应用程序,并希望完全基于RESTAPI响应(主题数据-颜色)对应用程序进行主题化 我使用的是一个全局较少的文件,它在应用程序页面中使用。 我正在使用 less.modifyVars({"variableName":"Value"}) ; less.refresh(); 在控制器中,调用正在工作,但较少的变量没有改变,也没有反映在页面中 我注意到这是因为加载控制器时,较少的文件已经编译为css,并且这些较少的变量无法动态访问 有人能提出其他方法吗,或

我已经构建了一个angular webpack应用程序,并希望完全基于RESTAPI响应(主题数据-颜色)对应用程序进行主题化

我使用的是一个全局较少的文件,它在应用程序页面中使用。 我正在使用

less.modifyVars({"variableName":"Value"}) ;
less.refresh();
在控制器中,调用正在工作,但较少的变量没有改变,也没有反映在页面中

我注意到这是因为加载控制器时,较少的文件已经编译为css,并且这些较少的变量无法动态访问

有人能提出其他方法吗,或者我在这里遗漏了什么?以及如何在Web包编译成css之前更改less变量。或者更确切地说,重新编译less以获取来自api的最新值,而无需重新加载页面

请注意:我使用npm安装所有依赖项,less是从json包加载的,控制器中的console.log(less)表示less在客户端未定义


谢谢,

有人能在这方面提出一些建议吗,等待下一步:)也许这个答案会对你有所帮助这是一个静态的答案,但我必须从api和一个用于身份验证的api中获取值,我知道我不能在web.config.js文件中调用pi,对吗?从技术上讲,你可以,但我认为您不希望在web.config文件中执行API调用。问题是.less文件在生成过程中被处理为.css文件,而不是在运行时,因此更改.less变量没有任何作用。可能
less.refreshStyles()是您需要的吗?当使用
时,该方法在运行时重新编译.less文件。否则,我自己的解决方案可能是编写一个方法来进行调用,并使用jQuery更新元素的css属性。hi@RickvanOsta:谢谢,是的,我认为这会起作用,但这里的一点是浏览器不会理解较少的内容,而且webpack在没有任何加载程序转换的情况下也不会运行。减。刷新样式();不起作用,我试过了。我尝试了使用Jquery的第二个建议,但我认为这是不可行的,因为它必须在每个模块和内联样式上进行。在这种情况下,少写是完全不安全的:(有人能提出一些建议吗,等待继续:)也许这个答案会帮助你这是一个静态的答案,但我必须从api和一个与身份验证一起工作的api中获取值,我知道我不能在web.config.js文件中调用pi,对吗?从技术上讲,你可以,但我认为您不希望在web.config文件中执行API调用。问题是.less文件在生成过程中被处理为.css文件,而不是在运行时,因此更改.less变量没有任何作用。可能
less.refreshStyles()是您需要的吗?当使用
时,该方法在运行时重新编译.less文件。否则,我自己的解决方案可能是编写一个方法来进行调用,并使用jQuery更新元素的css属性。hi@RickvanOsta:谢谢,是的,我认为这会起作用,但这里的一点是浏览器不会理解较少的内容,而且webpack在没有任何加载程序转换的情况下也不会运行。减。刷新样式();不起作用,我试过了。我尝试了使用Jquery的第二个建议,但我认为这是不可行的,因为它必须在每个模块和内联样式上进行。在这种情况下,写得少是完全不安全的:(