Tôi đang cố gắng để ghi lại một tập tin Javascript với JSDoc (3) như sau:JSDoc - đánh dấu một số mã để không được phân tích cú pháp nhưng vẫn giữ lại tài liệu?
/** 1 if gnome-bluetooth is available, 0 otherwise
* @type {boolean}
* @const
*/
const HAVE_BLUETOOTH = @[email protected];
Bây giờ tập tin (gọi tắt là config.js.in
) không có trong javascript có giá trị riêng của mình; tệp được chạy thông qua một Makefile thay thế một giá trị thích hợp cho @[email protected]
.
Khi tôi cố gắng chạy JSdoc trên này, nó (dễ hiểu) balks vì lỗi cú pháp trong tệp.
Có cách nào để yêu cầu JSDoc bỏ qua tất cả mã trong tệp này nhưng chỉ cần tính đến chú thích? (Tôi có thể phải thêm @name
thẻ vào mỗi doclet để hoàn toàn tách biệt tài liệu khỏi mã; điều đó tốt).
Cái gì như:
/** 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)
tôi không muốn thay đổi phần mã của tập tin, nếu có thể (tôi thêm tài liệu để một dự án hiện có). Ví dụ, tôi có lẽ có thể nhận được xung quanh nó với
const HAVE_BLUETOOTH = parseInt('@[email protected]', 10);
mà sẽ làm cho các tập tin có cú pháp JS hợp lệ một lần nữa để phân tích cú pháp không phàn nàn, nhưng điều này cũng có nghĩa là tôi đang sửa đổi mã của tập tin gốc mà tôi muốn tránh (tôi thích chỉ cần thêm tài liệu).
cổ vũ
Bạn có tìm thấy cách giải quyết khác không? –
Bạn không thể thay đổi đường ống sao cho jsdoc được chạy trên phiên bản trung gian, được biên dịch trước khi bạn rút gọn, v.v ... mọi thứ? Nếu không, một mã hack ít xâm nhập là const HAVE_BLUETOOTH = + '@ HAVE_BLUETHOOTH @'; – lemonzi