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

如何在Node.js中编译带.ts后缀导入的TypeScript文件?

TypeScript编译含.ts后缀导入文件的解决方法

你的核心问题在于tsconfig.json的配置冲突:allowImportingTsExtensions选项仅适用于不生成编译文件的场景(比如直接用ts-node运行TS代码),而你需要编译出.js文件给Node.js使用,noEmit: true会直接阻止编译器生成输出文件,导致tsc命令无效。

解决步骤如下:

  • 修改tsconfig.json配置:
    移除allowImportingTsExtensions,将noEmit改为false,同时可根据Node.js环境添加必要的编译选项(比如目标版本和模块规范):

    {
      "compilerOptions": {
        "strict": true,
        "noEmit": false,
        "target": "ES2020",
        "module": "CommonJS"
      }
    }
    
  • 调整导入语句:
    去掉导入路径中的.ts后缀,TypeScript编译器会自动关联对应文件,并在编译时处理为正确的.js路径:

    import { someFunction } from './otherfile';
    
  • 重新执行编译命令:
    运行tsc命令,编译器会在对应目录生成编译后的.js文件,你即可直接在Node.js环境中运行这些文件。

补充:如果想保留.ts后缀导入且不编译直接运行TS代码,可以使用ts-node或tsx工具,但这不符合你需要生成.js文件的需求,因此不适用当前场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 04:23:12