是否在VSCode中的`exports.default`上损坏了JSDoc?

我对VSCode和JSDocs有一种非常奇怪的体验。

显示命名导出的JSDocs信息,但不显示使用commonJS导出方法的默认导出的JSDocs信息。

问题:exports.default

没有弹出信息

文件:index.js

/**
 * Some explanation
 *
 * @param {object} obj The obj has to be~~~ !
 * @returns {void}
 */
function fn (obj) {
  // ...
}

exports.fn = fn;
exports.default = fn;

然后在另一个文件中:

案例1:import导入

import fn from './index'
fn // → no JSDoc info...

import { fn } from './index'
fn // → JSDoc info works

所以它适用于命名导入,但不适用于默认导入。

案例2:require()导入

let fn = require('./index')
fn // → no JSDoc info...

let fn = require('./index').fn
fn // → JSDoc info works

所以它适用于命名导入,但不适用于默认导入。

Gif以准确显示发生的情况


解决方案

您应该使用:

import { default as fn } from "./exp";

相关文章