在客户端使用LESS的说明尽可能简单..但仍然由于某种原因它对我不起作用。![在此输入图像描述] [1]
我在Firebug的控制台上收到此错误:
http://i.stack.imgur.com/NbIJP.jpg
如果我转到那里写的home.less文件的URL,我会看到内容(它们基本上和我现在使用的CSS一样,重命名,因为我刚刚开始使用LESS和避风港还没做任何事情。)
代码中唯一的javascript(再次,与代码中的URL相同)只是重命名为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和all)工作(即使不同的子域也不起作用,就像我的情况一样)。我不知道LESS有这个限制,因为CSS没有它。他们应该在文档中警告这一点。
答案 0 :(得分:0)
正如@drinchev已经提到的,less.js是一个客户端javascript,所以你最终会遇到跨域问题。这可以通过启用CORS来修复,请参阅:http://enable-cors.org/。在已安装home.less的域上,服务器应发送Access-Control-Allow-Origin:*标头。
less.js使用XMLHttpRequests加载较少的文件,这些文件支持大多数现代浏览器的CORS,请参阅http://caniuse.com/#search=cors。有关详细信息,请访问http://www.html5rocks.com/en/tutorials/cors/