在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

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