当前位置: 首页 > 后端技术 > Node.js

使用ts-node直接运行ts脚本和踩过的坑

时间:2023-04-03 19:11:59 Node.js

使用ts-node直接运行ts脚本和你踩过的坑。运行ts脚本需要库ts-node,不能全局安装,否则会报错。yarnadd-Dts-node#或npmits-node-D安装后使用并开始添加配置项:在ts.config.json中添加配置“mudoule”:esnext或es2005在package.json中添加配置“type”:"modules""includesthefileextension"intheimportstatementinthefile,如importdatafrom'./data'为importdatafrom'./data.js',.ts后缀也要改成.js然后就可以使用命令行命令运行ts脚本了node--loaderts-node/esm./my-script.ts这个过程中报了很多错误,在网上各种论坛跑来跑去,终于解决了?SyntaxError:Cannotuseimportstatementoutsideamodule?Importcannotbeusedoutsidethemodule解决这个问题,需要在package.json文件中加入"type":"modules"?Error[ERR_MODULE_NOT_FOUND]:Cannotfindmodule'C:Users1Desktopmy-projectdata'importedfrom'C:Users1Desktopget-data.ts'?找不到导入的模块,因为导入的文件没有添加后缀。?TypeError[ERR_UNKNOWN_FILE_EXTENSION]:Unknownfileextension".ts"?当我收到这个错误时,命令行命令使用了ts-node./myscripts.ts。当我改为以下命令时,问题就解决了。node--loaderts-node/esm./my-script.ts?ReferenceError:fetchisnotdefined?使用fetch库获取数据,不是标准的Nodejs方法。需要下载node-fetchyarnaddnode-fetch虽然写在最后有很多程序员交流问题的社区论坛,但是跑来跑去发现还是在github上搜索问题更快更有效issues,很多地方都是无效的甚至是回答问题。