代码之家  ›  专栏  ›  技术社区  ›  hkk David Calhoun

Tern无法使用JSDoc类型信息

  •  1
  • hkk David Calhoun  · 技术社区  · 7 年前

    我正在尝试使用 Tern

    我在用密码 /** @type {Foo} */ let x; Tern website's demo page (使用CodeMirror),编辑器可以推断 x Foo .

    然而,当通过节点在本地运行时,我得到了以下信息: { type: '?', exprName: 'x' }

    这里有一个片段复制了这个问题:

    const tern = require('tern');
    
    const ternServer = new tern.Server({
        plugins: {
            doc_comment: {
                strong: true
            }
        }
    });
    
    const js = `/** @type {Foo} */ let x;`;
    ternServer.addFile("main", js);
    ternServer.request({
        query: {
            type: "type",
            file: "main",
            start: js.length - 2,
            end: js.length - 2
        }
    }, console.log);
    

    我甚至设置了 doc_comment strong ,这意味着JSDoc类型优先于通常推断的类型,但没有效果。

    有什么办法可以让它工作吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   hkk David Calhoun    7 年前

    事实证明,您必须导入 doc_comment

    只需添加 require("tern/plugin/doc_comment");