2016-08-09 2 views
1

jQueryと統合するとうまくいくシンプルなCoffeeScriptコードがあります。チェックツール しかしcoffee-lintコードは、次のエラー暗い括弧はコーヒーリントチェックツールで禁止されているため、エラーを修正するにはどうすればよいですか?

coffeelint file.coffee

暗黙のブレースが禁止されているを示しています。

私のコードは、このエラーを引き起こしている可能性がありますどのような

​​

のですか?

答えて

2

これは必要最小限の変更です。関数呼び出しのために()を追加することをお勧めしますが、このルールはそれらを気にしません。

$ -> 
    $("#selector").dialog { 
    modal: true 
    } 

modal: trueを対象と暗示されています。このルールが有効になった理由を説明するために、パラメータを受け入れる非常に似たコードがいくつかあるとしましょう。

makeDialog = (foo) -> 
    $("#selector").dialog 
    modal: true, 
    foo: foo, 

このコードは正常に表示され、正しくコンパイルされます。しかし、ある時点で、foo: fooを簡略化することができます。

makeDialog = (foo) -> 
    $("#selector").dialog 
    modal: true, 
    foo, 

コードが壊れています。 CoffeeScriptはがdialogの最初のパラメータである暗黙のオブジェクトのプロパティだと正しく推測しましたが、fooがそのオブジェクトの2番目のプロパティであるか関数の2番目のパラメータであるかはわかりません。これまでコンパイルされています:

return $("#selector").dialog({ modal: true }, foo); 
0

coffeelint config fileはありますか?はいの場合、no_implicit_braces policyが変更されていないことを確認します(デフォルトはignore)。

+0

ありがとうございます。しかし、私はcoffeelint.jsonを変更したくありません。 デフォルトの設定を維持して問題を修正したいと考えています。 –

+0

デフォルト設定では、暗黙の中カッコに対してエラーも警告も発生しません。これは、あなたがすでにcoffeelint.jsonファイルを持っているかどうか尋ねてきたのですが、そのような場合は、no_implicit_bracesルールがerrorに設定されていないことを確認してください。 – Cyril

関連する問題