0
我試圖使用Tern對某些Javascript代碼執行類型推斷。但是,類型推斷似乎並沒有在代碼中使用JSDoc註釋。Tern無法使用JSDoc類型信息
我使用代碼/** @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);
燕鷗以其他方式工作了類型推斷完美的罰款。這是使用JSDoc註釋的時候,它似乎沒有用我初始化和調用它的方式工作。
我甚至將doc_comment
插件設置爲strong
,這意味着JSDoc類型比通常推斷的類型更受歡迎,但無濟於事。
任何想法如何讓這個工作?