我使用 YepNope 作为资源加载器,但我现在必须支持 Less 文件,但我似乎无法让它加载这些文件,我确实读过:
https://github.com/SlexAxton/yepnope.js/pull/64
但它并没有真正说明应该如何完成......我是否必须添加自定义过滤器或前缀 !less 然后手动将其写入 DOM?
我基本上会做类似的事情:
yepnope("path/to/file.less")
我使用 YepNope 作为资源加载器,但我现在必须支持 Less 文件,但我似乎无法让它加载这些文件,我确实读过:
https://github.com/SlexAxton/yepnope.js/pull/64
但它并没有真正说明应该如何完成......我是否必须添加自定义过滤器或前缀 !less 然后手动将其写入 DOM?
我基本上会做类似的事情:
yepnope("path/to/file.less")
这就是我所做的:
yepnope.addPrefix('less', function(resourceObj) {
resourceObj.forceCSS = true;
resourceObj.attrs = {
'rel' : "stylesheet/less",
'type': "text/css"
};
return resourceObj;
}
这将为任何以 . 开头的 URL 创建一个 yepnope 前缀函数less!
。该函数将强制它作为 CSS 加载,并将rel
和type
属性放在<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 处理它们。