1. 程式人生 > 其它 >ts-node 學習筆記 - 如何解決在 Windows10 下不能直接執行 ts-node 的問題

ts-node 學習筆記 - 如何解決在 Windows10 下不能直接執行 ts-node 的問題

ts-node 是 Node.js 的 TypeScript 執行引擎和 REPL。

它 JIT 將 TypeScript 轉換為 JavaScript,使您無需預編譯即可直接在 Node.js 上執行 TypeScript。 這是通過掛鉤 node 的模組載入 API 來實現的,使其能夠與其他 Node.js 工具和庫一起無縫使用。

注意,在 windows 作業系統裡,直接執行 ts-node, 會報錯:

'ts-node' is not recognized as an internal or external command,
operable program or batch file.

很多人建議採取全域性安裝 ts-node 的方法來解決這個問題,但全域性安裝並不是一個好的解決方案。

參考這個 StackOverflow 討論.

我不建議在您自己的模組中依賴全域性安裝的 ts-node,因為如果你這樣做,那麼安裝你的模組的任何人都需要全域性安裝 ts-node(僅僅一個普通的 npm install 是不夠的)然後如果兩個模組需要全域性安裝 ts-node 之類的東西,你可能就會遇到版本衝突的問題。

為避免這種情況,您的所有依賴項都應在 package.json 中定義,並在本地安裝在 node_modules 中。

有一個鮮為人知的命令 npx 用於從本地安裝在 node_modules 中的模組執行二進位制檔案。

在 SAP Spartacus 裡,ts-node 被用來直接執行專案內的 .ts 檔案。一個例子如下:

loadtest:ssr,定義在如下檔案裡:

我即使在根目錄下執行 yarn loadtest:ssr, 也能直接啟動巢狀的 core-libs 目錄下的 package.json 裡定義的 script.

原來在根目錄的 package.json 下也添加了一條同名 script:

更多Jerry的原創文章,盡在:"汪子熙":