在NodeJS中直接运行typescript程序


最近试着将之前的一些nodejs程序改成typescript封装,最初是通过将ts在运行时编译成js时实现的,今天试了下直接运行ts脚本试了下,发现再Webstrom中是可以直接运行的。

在NodeJS中直接运行typescript程序

但是,当使用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如下所示

    在NodeJS中直接运行typescript程序

  2. tsconfig.json中设置compilerOptions.module为 CommonJS

    在NodeJS中直接运行typescript程序

  3. 启动项添加node启动参数:–require ts-node/register

    在NodeJS中直接运行typescript程序

原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/274464.html

(0)
上一篇 2022年7月15日
下一篇 2022年7月15日

相关推荐

发表回复

登录后才能评论