最近试着将之前的一些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库解决这个问题,方法如下:
- 添加ts-node和typescript库 (ts-node依赖typescript库),package.json如下所示
- tsconfig.json中设置compilerOptions.module为 CommonJS
- 启动项添加node启动参数:–require ts-node/register
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/274464.html