首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tern未能使用JSDoc类型信息

Tern未能使用JSDoc类型信息
EN

Stack Overflow用户
提问于 2017-09-02 01:47:14
回答 1查看 333关注 0票数 1

我试图使用燕鸥对某些Javascript代码执行类型推断。但是,类型推断似乎并没有在代码旁边使用JSDoc注释。

我使用代码/** @type {Foo} */ let x;作为这个问题的一个例子。在Tern网站演示页面 (使用CodeMirror)上,编辑器可以推断x的类型是Foo

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

下面是一个复制这个问题的片段:

代码语言:javascript
复制
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);

除此之外,Tern在类型推断方面一直工作得很好。当使用JSDoc注释时,它似乎与我初始化和调用它的方式不兼容。

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

有什么办法让这件事起作用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-02 13:15:17

事实证明,您必须导入doc_comment插件才能使用它。否则,设置tern服务器的插件选项不会做任何事情。

简单地将require("tern/plugin/doc_comment");添加到文件的顶部解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46009759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档