1

我使用 YepNope 作为资源加载器,但我现在必须支持 Less 文件,但我似乎无法让它加载这些文件,我确实读过:

https://github.com/SlexAxton/yepnope.js/pull/64

但它并没有真正说明应该如何完成......我是否必须添加自定义过滤器或前缀 !less 然后手动将其写入 DOM?

我基本上会做类似的事情:

yepnope("path/to/file.less")

4

1 回答 1

4

这就是我所做的:

yepnope.addPrefix('less', function(resourceObj) {
    resourceObj.forceCSS = true;
    resourceObj.attrs = {
        'rel' : "stylesheet/less",
        'type': "text/css"
    };

    return resourceObj;
}

这将为任何以 . 开头的 URL 创建一个 yepnope 前缀函数less!。该函数将强制它作为 CSS 加载,并将reltype属性放在<link>元素中,这是 LESS 解析文件所必需的。确保您使用的是 yepnope 1.5+ 或 Modernizr。

然后,在您的加载语句中:

yepnope({
    load: [
        'less!path/to/file.less',
        'less!path/to/file2.less',
        ...
        'path/to/less.js'
    ]
});

这将首先加载您的*.less文件,然后使用 LESS JavaScript 处理它们。

于 2012-04-05T21:31:04.560 回答