ts-node 是 Node.js 的 TypeScript 執(zhí)行引擎和 REPL。 它 JIT 將 TypeScript 轉(zhuǎn)換為 JavaScript,使您無需預編譯即可直接在 Node.js 上執(zhí)行 TypeScript。 這是通過掛鉤 node 的模塊加載 API 來實現(xiàn)的,使其能夠與其他 Node.js 工具和庫一起無縫使用。 注意,在 windows 操作系統(tǒng)里,直接運行 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 之類的東西,你可能就會遇到版本沖突的問題。 為避免這種情況,您的所有依賴項都應(yīng)在 package.json 中定義,并在本地安裝在 node_modules 中。 有一個鮮為人知的命令 npx 用于從本地安裝在 node_modules 中的模塊運行二進制文件。 在 SAP Spartacus 里,ts-node 被用來直接執(zhí)行項目內(nèi)的 .ts 文件。一個例子如下: loadtest:ssr,定義在如下文件里: 我即使在根目錄下執(zhí)行 yarn loadtest:ssr, 也能直接啟動嵌套的 core-libs 目錄下的 package.json 里定義的 script. 原來在根目錄的 package.json 下也添加了一條同名 script: |
|