首页 > jsp怎么向less传值?

jsp怎么向less传值?

因为服务端要把项目路径传过来,css内的图片都在这个路径下,所以请问有什么办法直接把值传进less里?


可以通过动态生成 LESS 的方式来实现,但是要求浏览器是直接获取 LESS 由 JS 来解释。
如果是构建时生成的 CSS,可以用动态生成 CSS 的办法(可以动态生成 LESS,再后台调用工具处理成 CSS)

动态是指通过程序(或+模板)的方式来生成,和动态生成 HTML 原理一样

不过这种做法对运行资源消耗比较大,所以建议还是在构建期生成 LESS 比较好,可以根据发布目标,通过模板的方式来处理,最简单的方式就是根据目标服务器,生成引入变量文件(可以用 @import 引入),或者在原 LESS 前插入变量,再由 LESS 生成 CSS。


刚刚看了less的文档,其实是有办法向less传值的,无论是服务端编译,还是浏览器端编译。

文档:http://lesscss.cn/usage/#v2-upgrade-guide-programmatic-usage

浏览器端

在浏览器端可以通过在加载less.js文件之前写一下设置

<!-- set options before less.js script -->
<script>
  less = {
    env: "development",
    logLevel: 2,
    async: false,
    fileAsync: false,
    poll: 1000,
    functions: {},
    dumpLineNumbers: "comments",
    relativeUrls: false,
    globalVars: {
      var1: '"string value"',
      var2: 'regular value'
    },
    rootpath: ":/a.com/"
  };
</script>
<script src="less.js"></script>

而其中globalVars就可以写自定义变量,这些变量在less文件中是可以直接用的
然后rootpathA path to add on to the start of every URL resource.就是less中所有路径的根目录地址,就是我问题中要解决的问题。

服务器端

自己去上面的网页看吧...文字好长我没看完,我用的是浏览器编译所以只看了我要的那部分...抱歉

【热门文章】
【热门文章】