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

如何配置VS Code的Code Runner插件执行TypeScript代码

VS Code Code Runner运行TypeScript代码的报错解决与配置指南

一、先搞定当前的TS编译报错

你碰到的TS1208错误,根源是项目tsconfig.json开了--isolatedModules模式,这个模式要求所有文件必须是ES模块(得有import/export语句)。虽然你代码里有import,但Code Runner生成的临时文件可能路径解析有问题,或者ts-node的识别逻辑抽风。最快的临时解法是在代码末尾加一行空导出:

import { getContractAddress } from './useContract';
const contractAddress = getContractAddress(1);
console.log({ contractAddress });
// 加这行强制标记为模块
export {};

二、配置Code Runner正确跑TypeScript

1. 先装依赖

在项目根目录执行命令,装ts-node和typescript(推荐本地装,避免全局版本冲突):

npm install -D ts-node typescript

要是想全局用也行:

npm install -g ts-node typescript

2. 修改Code Runner的执行配置

打开VS Code设置(快捷键Ctrl+, / Cmd+,),搜Code Runner: Executor Map,点编辑 in settings.json,找到typescript那一项,改成对应配置:

  • 如果你的项目是ES模块模式(tsconfig.json里module设的是ESNext/ES2020这类):
"code-runner.executorMap": {
  "typescript": "cd $dir && ts-node --esm $fileName"
}
  • 要是用CommonJS(module是CommonJS),就去掉--esm:
"code-runner.executorMap": {
  "typescript": "cd $dir && ts-node $fileName"
}

配置说明:

  • cd $dir:先切到当前文件所在目录,不然相对路径的import(比如你导入的./useContract)会找不到文件
  • ts-node:直接运行TS文件的工具,无需先编译成JS再执行
  • --esm:适配ES模块模式,避免ts-node把文件当成CommonJS处理导致报错

3. 调整tsconfig.json(可选但推荐)

如果项目tsconfig.json里有isolatedModules: true,可以加个ts-node的专属配置,避免冲突:

{
  "compilerOptions": {
    "isolatedModules": true,
    // 其他原有的配置...
  },
  "ts-node": {
    "compilerOptions": {
      "isolatedModules": false
    }
  }
}

这样平时项目编译还是保持isolatedModules模式,用ts-node跑测试代码时临时关掉,不会影响项目原有逻辑。

三、测试运行

配置完后,打开你的测试文件,右键点Run Code(或者用快捷键Ctrl+Alt+N / Cmd+Alt+N),就能正常跑TS代码,看到console.log的输出了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:40:25