Ich versuche, eine Javascript-Datei mit JSDoc zu dokumentieren (3) wie folgt:JSDoc - Markieren Sie einen Code, um nicht geparst zu werden, aber die Dokumentation beizubehalten?
/** 1 if gnome-bluetooth is available, 0 otherwise
* @type {boolean}
* @const
*/
const HAVE_BLUETOOTH = @[email protected];
nun die Datei (genannt config.js.in
) ist nicht allein gültig Javascript; Die Datei wird durch ein Makefile geführt, das einen geeigneten Wert für @[email protected]
ersetzt.
Wenn ich versuche, JSdoc auf diesem auszuführen, wird es (verständlicherweise) wegen des Syntaxfehlers in der Datei blockiert.
Gibt es eine Möglichkeit JSDoc zu sagen alle Code in dieser Datei zu ignorieren, aber einfach berücksichtigen die Anmerkungen? (Ich muss möglicherweise zu jedem Doclet @name
Tags hinzufügen, um die Dokumentation vollständig vom Code zu trennen; das ist in Ordnung).
Etwas wie:
/** 1 if gnome-bluetooth is available, 0 otherwise
* @name HAVE_BLUETOOTH
* @type {boolean}
* @const
*/
/** @ignore */ // somehow ignore from here onwards
const HAVE_BLUETOOTH = @[email protected];
/** [email protected] */ // somehow don't ignore from here onwards (although I'd be happy
// to ignore the entire file)
Ich würde nicht lieber den Code Teil der Datei ändern, wenn möglich (I Dokumentation zu einem bestehenden Projekt hinzufügen bin). Zum Beispiel könnte ich wahrscheinlich drum herum kommen mit
const HAVE_BLUETOOTH = parseInt('@[email protected]', 10);
die die Datei haben gültige JS Syntax wieder machen würde, so dass der Parser nicht beschweren, aber das bedeutet auch den Code der ursprünglichen Datei ich Modifizieren was ich vermeiden möchte (ich bevorzuge nur Dokumentation hinzufügen).
prost
Haben Sie einen Workaround gefunden? –
Kannst du nicht die Pipeline so ändern, dass jsdoc auf einer kompilierten Zwischenversion ausgeführt wird, bevor du alles kleinbaust? Wenn nicht, ist ein weniger aufdringlicher Code Hack const HAVE_BLUETOOTH = + '@ HAVE_BLUETHOOTH @'; – lemonzi