1

在客户端使用 LESS 的说明非常简单。但由于某种原因,它仍然对我不起作用。![在此处输入图像描述][1]

我在 Firebug 的控制台上收到此错误:

http://i.stack.imgur.com/NbIJP.jpg

如果我去那里写的 home.less 文件的 URL,我会看到内容(它们基本上与我之前使用的 CSS 相同,已重命名,因为我刚刚开始使用 LESS 并没有完成任何东西都没有)。

代码中唯一的 javascript(同样,与代码中的 URL 相同)只是更名为 less-1.3.0.min.js。

这是完整的 HTML:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="es_ES" />

    <link rel="stylesheet/less" type="text/css" href="http://domain.dev/css/home.less?id=1" />
        <script src="http://domain.dev/js/generated/home.js?id=1" type="text/javascript"></script>
</head>
<body>
</body>
</html>

知道我在做什么错吗?

解决方案/编辑:好的,我想出了问题所在。如果您在 LINK 标签上引用的 .less 文件不在同一个域上(即使是不同的子域也不起作用,就像我的情况一样),显然 LESS 不能在客户端(使用 less.js 和所有)。我不知道 LESS 有这个限制,因为 CSS 没有。他们应该在文档中对此提出警告。

4

1 回答 1

0

正如@drinchev 已经提到的,less.js 是一个客户端 javascript,因此您最终会遇到跨域问题。这可以通过启用 CORS 来解决,请参阅:http ://enable-cors.org/ 。在已安装 home.less 的域上,服务器应发送 Access-Control-Allow-Origin: * 标头。

less.js 使用支持大多数现代浏览器的 CORS 的 XMLHttpRequests 加载 less 文件,请参见http://caniuse.com/#search=cors。更多详细信息,请访问 http://www.html5rocks.com/en/tutorials/cors/

于 2014-10-03T23:52:06.763 回答