You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ts-node运行.mts文件?导入报错问题求助

使用ts-node运行.mts文件的解决方案

可以用ts-node运行.mts文件,无需修改package.json的"type": "module",按以下步骤配置和执行即可:

  • 配置tsconfig.json
    确保TypeScript编译选项适配ES模块和Node.js的模块解析规则,在compilerOptions中添加或修改以下配置:

    {
      "compilerOptions": {
        "module": "NodeNext",
        "moduleResolution": "NodeNext",
        "target": "ES2020",
        "outDir": "./dist",
        "strict": true
      }
    }
    

    其中module和moduleResolution设为NodeNext(或Node16),是为了让TypeScript正确识别.mts作为ES模块的后缀,同时匹配Node.js的模块解析逻辑。

  • 执行.mts文件的命令
    运行时需要明确告诉ts-node以ES模块模式处理文件,使用--esm参数:

    ts-node --esm your-file.mts
    

    如果遇到模块解析的兼容问题,可额外添加实验性参数:

    ts-node --esm --experimental-specifier-resolution=node your-file.mts
    
  • 错误原因说明
    你遇到的警告和错误,是因为.mts被Node.js默认识别为ES模块,但ts-node默认以CommonJS模式运行,两者的模块加载逻辑不匹配。通过上述配置和命令,让ts-node切换到ES模块模式,同时让TypeScript的编译规则对齐Node.js的ES模块规范,就能解决冲突。

内容的提问来源于stack exchange,提问作者dras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:47:11