私は次のようにJSDoc(3)でJavascriptファイルを文書化しようとしています:
/** 1 if gnome-bluetooth is available, 0 otherwise
* @type {boolean}
* @const
*/
const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
現在、ファイル(と呼ばれるconfig.js.in
)はそれ自体の有効なJavascript上にありません。ファイルは、の代わりに適切な値を使用するMakefileを介して実行され@HAVE_BLUETOOTH@
ます。
これでJSdocを実行しようとすると、ファイルの構文エラーが原因で(当然のことながら)失敗します。
このファイルのすべてのコードを無視するようにJSDocに指示する方法はありますが、単に注釈を考慮に入れるだけですか?@name
(ドキュメントをコードから完全に分離するために、各ドックレットにタグを追加する必要があるかもしれません。それで問題ありません)。
何かのようなもの:
/** 1 if gnome-bluetooth is available, 0 otherwise
* @name HAVE_BLUETOOTH
* @type {boolean}
* @const
*/
/** @ignore */ // somehow ignore from here onwards
const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
/** !@ignore */ // somehow don't ignore from here onwards (although I'd be happy
// to ignore the entire file)
可能であれば、ファイルのコード部分を変更したくない(既存のプロジェクトにドキュメントを追加している)。たとえば、私はおそらくそれを回避することができます
const HAVE_BLUETOOTH = parseInt('@HAVE_BLUETOOTH@', 10);
これにより、パーサーが文句を言わないように、ファイルに再び有効なJS構文が作成されますが、これは、回避したい元のファイルのコードを変更していることも意味します(ドキュメントを追加することをお勧めします)。
乾杯