在NodeJS中直接運行typescript程序

最近試着將之前的一些nodejs程序改成typescript封裝,最初是通過將ts在運行時編譯成js時實現的,今天試了下直接運行ts腳本試了下,發現再Webstrom中是可以直接運行的。

但是,當使用es import的時候會報錯,

import {foo} from "./foo";

foo();
console.log('hello world')

錯誤信息如下:(node:10684) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

最初以爲設置package.json的module就能解決,後來發現這個配置又和typescript不兼容,最後發現可以通過ts-node庫解決這個問題,方法如下:

  1. 添加ts-nodetypescript庫 (ts-node依賴typescript庫),package.json如下所示

  2. tsconfig.json中設置compilerOptions.module爲 CommonJS

  3. 啓動項添加node啓動參數:--require ts-node/register

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章