首页 > less.js有没有编译完成的事件?

less.js有没有编译完成的事件?

最近项目改用less,但是发现less在编译完less文件之前会让body的宽度为0,导致很多用js获取宽高的代码获取到 的都是0,请问有没有一个编译完less的事件可以侦听?


对了,我是浏览器端编译的
这是测试页面,打开控制台可以看到body的宽度一开始是0
http://wdzj1314.com/mobile/public/lesstest.html


什么叫“编译完之前让body宽度为0”?你在哪里编译,用什么工具编译的?

修正内容:

好吧,我简单谈下:

首先,运行时“编译less”是官方强烈不推荐的方式,这也是为什么关于less.js的API文档都很少,因为真的太费时间。“编译”的操作应该在部署前完成,应用部署时就直接给css了。

其次,你说的那个编译完提醒的功能,目前真没有,我看到有人提了一个PR,因为没文档,所以我不敢保证他一定work,但应该是已经release了,用法如下:

less.registerStylesheets().then(
    function () {
        // The new stylesheets have been loaded.
        // Now refresh() or modifyVars() to parse the changes.
        less.refresh();
    }
);

我把相关issues也给你列出来好了,方便你自己找How to tell when less is done processing,Method to scan for and register stylesheets


理论上来说,LESS 应该只会对 .less 文件的内容进行处理,处理成 css 之后插入到 <head> 中去,怎么会影响到 body 宽度呢。有没的有 $.ready() 中尝试过你的代码。如果你不用 jQuery,那就在 onload 里试试

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