4

別のファイルで定義されている変数を利用するいくつかの定義を含む.lessファイルがあります。

例:

body {
    font-family: @baseFontFamily;
    font-size: @baseFontSize;
    color: @textColor;
}

当初、IntelliJは変数を未定義として表示していました。Lesscでコンパイルすると、次のようなエラーが発生します。

TypeError:新しいLessError(C:\ PATH \ npm \ node_modules \ less)のgetLocation(C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:212:34)で未定義のメソッド'charAt'を呼び出すことができません\ lib \ less \ parser.js:221:19)at Object.toCSS(C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:385:31)at C:\ PATH \ npm \ node_modules \ less \ bin \ lessc:107:28 at C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:434:40 at C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser .js:94:48 at C:\ PATH \ npm \ node_modules \ less \ lib \ less \ index.js:116:17 at C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:434 :40 at C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:94:48 at C:\ PATH \ npm \ node_modules \ less \ lib \ less \ index.js:116:17

少し読んだ後、これはコードのどこかにエラーがあることを意味していると判断しました。当然、変数定義が機能していないことが原因だと思いました。変数を含む行にコメントを付けたところ、lesscはプロジェクトを正常にコンパイルしました。

ただし、適切な@importを追加して変数が定義された後(および変数のコメントが外された行)でも、コンパイル時エラーが発生しました。足りないものはありますか?

4

3 に答える 3

4

問題が発見されました。親フォルダーと子フォルダーに「config.less」ファイルがありました。config.lessの内容を子バージョンから親バージョンに移動すると、私が経験していた問題が解決しました。

于 2012-08-07T19:49:56.467 に答える
2

私は答えを発見しました。1つのファイルだけをコンパイルしてみました(.lessファイルのスイートではありません)。NPMは、使用されているMixinの1つを見つけるのに問題があることを示しました。適切なファイルを@インポートすると、スイートは正常にコンパイルされます。

レッスンは次のとおりです。--.lessファイルの1つに問題がある場合は、それを単独でコンパイルしてみてください。NPMは、単なる一般的なスタックトレースよりも、エラーに関する詳細を提供します。

于 2012-08-02T22:10:23.827 に答える
0

このように動作すると、これらのエラーも発生しますが、実際にコンパイルされたcssは問題なく動作します。私は開発で自分の少ないものをコンパイルし、実行時にcssを置くだけですが、スタイルがjavascriptに依存することを望まないので...

于 2012-08-02T21:17:25.267 に答える