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>

私は何が間違っているのですか?

解決策/編集: OK、何が問題なのかわかりました。LINK タグで参照している .less ファイルが同じドメイン上にない場合 (私の場合のように、異なるサブドメインでも機能しません)、LESS はクライアント側 (less.js およびすべて) では機能しません。CSSにはこの制限がないため、LESSにこの制限があることを知りませんでした。ドキュメントでこれについて警告する必要があります。

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 に答える