2

奇妙な LESS コンパイル エラーが発生します。メッセージは次のとおりです。

non_object_property_callError: Cannot call method 'charAt' of null in /Volumes/Windows/Program Files (x86)/Ampps/www/custom-site/templates/custom-template/less/style.less:null:-1 1 @import " icomoon/icomoon.less";

エラーの原因となったコードは次のとおりです。

@import "imports/variables.less";
@import "icomoon/icomoon.less";

@import "mixins.less";

この 2 つのファイルだけをコンパイルしてみましたが、すべてうまくいきました。したがって、これは、エラーの原因を正確に報告する LESS の能力にエラーがあることを示しています。nodejs コンパイラでテストすると、同じエラーが返されます。他のすべてのコンパイラでテストしても、このエラーが発生します...

エラーの原因を突き止めるために、インポート呼び出しの後に style.less ファイル内の残りのコードを当然コメント アウトしましたが、エラーは解決しませんでした。ここでの問題は、エラーがどこにあるのかわからないことですが、インポートの呼び出し後のどこかにあるのではないかと疑っています。

どんな助けでも大歓迎です。

4

1 に答える 1

1

「正確な問題を報告することはできません」と言うのは、実際には真実だけです。

正確には、less コンパイラーは、less コードに問題があるためコンパイルできないため、コンパイラーはエラー処理をトリガーして、エラーの場所を示します。ただし、そうすると例外が発生します。したがって、基本的にlessコンパイラのバグが原因であるまったく同じ例外のみが表示されます。

詳細な説明については、問題を修正するプル リクエスト (https://github.com/cloudhead/less.js/pull/703) を参照してください。

それで、ここでのオプションは何ですか:

  • 新しい less バージョンに切り替えることができない場合は、less コードの一部をコメント アウトして、引き続き問題を見つけてください。私は知っています、それはまったく楽しいものではありません。私もしばらくこれで行かなければなりませんでした...
  • もしあなたがより新しいバージョンのlesscにアップグレードできるなら、これを試してみてください.

less コンパイラのエラー例:

$ lessc style.less > style.css
NameError: variable @bla is undefined in assets/less/included.less:3:20
2   background: url(../img/wall-texture.png);
3   background-color: @bla;
4 }
于 2013-01-26T21:11:26.357 に答える