Deno REPL 無法識別 TypeScript 變數宣告
我在 Windows 10 上使用 Chocolatey 安裝了 Deno 1.0.5。我嘗試在 Deno REPL 中使用 TypeScript,但顯然如果指定了類型,它無法識別 TypeScript 變數聲明:
C:\>deno
Deno 1.0.5
exit using ctrl+d or close()
> let x: number;
Uncaught SyntaxError: Unexpected token ':'
at evaluate ($deno$/repl.ts:54:34)
at Object.replLoop ($deno$/repl.ts:156:13)
> let x: number = 42;
Uncaught SyntaxError: Unexpected token ':'
at evaluate ($deno$/repl.ts:54:34)
at Object.replLoop ($deno$/repl.ts:156:13)
> let x = 42;
undefined
> x
42
我需要做什麼特別的事情才能讓 Deno CLI 支援 TypeScript 嗎?
答案#1
Deno REPL 尚不支援 TypeScript。
請參見以下舊問題:https://github.com/denoland/deno/issues/1158,該問題仍然開啟中。
Ryan Dahl 對一個新增 TS 支援的 PR 的評論:
2020年2月24日
給未來研究人員多一點背景資訊:有許多方法可以改善 REPL,而不需要引入 TS 編譯器。我們應該先做那些事情(例如改善 inspect、Tab 補全)。一旦我們的 REPL 達到與 Node 相同的水準,我們就可以開始研究如何透過使用 TypeScript 來突破這個水準。
答案#2
情況在2022年已經改變。
現在 deno repl 預設就支援 typescript:
deno
Deno 1.23.0
exit using ctrl+d or close()
> let x : number = 3
undefined
> x.
constructor toFixed toString toLocaleString __defineSetter__ __lookupGetter__ isPrototypeOf
toExponential toPrecision valueOf __defineGetter__ hasOwnProperty __lookupSetter__ propertyIsEnumerable
你唯一需要做的事情就是將你的 deno 可執行檔升級到更新的版本。
不確定這個功能究竟是什麼時候推出的。這裡是完整的更新日志以供參考:https://github.com/denoland/deno/blob/main/Releases.md
