1

我正在尝试让RequireJS 的 Guy Bedfords less 插件将一些常见文件拉入每个/所有后续的 less 文件中。目标是保持模块特定的较少文件分开,但每个都引入一些常见的资产,如变量和混合。

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

例如,如果我简单地说:

// 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 没有正确解析。

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

有谁知道我在这里做错了什么?

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

谢谢。

4

1 回答 1

0

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

于 2013-01-31T21:21:02.200 回答