我试图让Guy Bedfords less plugin for RequireJS将一些通用文件拖入每个/所有后续的较少文件中。目标是使特定于模块的较少文件分开,但每个文件都引入一些常见的资产,例如变量和混合。

但是到目前为止,该插件似乎自己解析了每个较少的文件。

例如,如果我简单地说:

// variables.less

@red: #ff0000;


// styles.less

body {
    background-color:@red;
}


// main.js

define(['less!variables', 'less!styles'], function() {
    ...
});


variables.less和styles.less都被解析,但是styles.less在variables.less中看不到@red,并且我收到一个JavaScript错误,说styles.less无法解析。

查看git上的示例,看起来像分离依赖项(强制首先加载它们?)应该将它们引入:

// common.js

define(['less!variables'], function() {
    return {};
});


// main.js

define(['common', 'less!styles'], function() {
    ...
});


但这给了我相同的结果;少了一个错误,说styles.less没有正确解析。

我已经尝试了一些“ hacks”,例如在styles.less中使用@import来引入variables.less,但似乎虽然require-less会规范化大多数网址,但不会规范化@imports,所以现在variables.less必须绝对引用,这不完全是我想要的。

有人知道我在做什么错吗?

目标是通过使用与r.js很好集成的东西,通过RequireJS在开发中加载和解析更少的文件,以将更少的东西预编译为css进行部署。尽管不需要插件看起来很棒,但是无法使用变量或混合插件是一个非常令人毛骨悚然的错误。还有其他选择吗?

谢谢。

最佳答案

看起来,加载较少的普通资产的方法是使用@import。它变成了一个非常快速的修复程序,以使url规范化工作(https://github.com/guybedford/require-css/pull/26)。

关于javascript - 不需要通用的混合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13736567/

10-16 10:46