克隆项目到新文件夹后调试报错:import语句无法在模块外使用
问题解决步骤
一、修复import语法错误
出现Cannot use import statement outside a module是因为直接用Node执行TypeScript文件,未通过ts-node转译处理。
1. 修改package.json的dev脚本
把原dev脚本:
"dev": "nodemon server.ts"
改成:
"dev": "nodemon --exec ts-node server.ts"
这样nodemon会调用ts-node转译TypeScript文件,识别ES模块语法。
2. 修正tsconfig文件名
你提供的配置文件名为jtsconfig.json,属于笔误,TypeScript默认读取tsconfig.json,请确保文件名正确,否则配置不会生效。
3. 消除配置冲突
package.json中的compilerOptions会和tsconfig.json的配置冲突,建议删除package.json里的这部分内容:
"compilerOptions": { "noImplicitAny": false }
所有编译配置统一放在tsconfig.json中即可。
二、VSCode调试配置(launch.json)
1. 检查launch.json是否存在
打开项目根目录的.vscode文件夹,查看是否有launch.json文件。如果没有,按以下步骤创建:
- 打开VSCode调试面板,点击「创建launch.json文件」
- 选择「Node.js」环境生成默认配置
- 将配置修改为适配TypeScript的调试版本:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Debug TS", "program": "${workspaceFolder}/server.ts", "runtimeExecutable": "ts-node", "skipFiles": ["<node_internals>/**"] } ] }
2. 重启调试
配置完成后重启VSCode,再次启动调试即可正常运行。
内容的提问来源于stack exchange,提问作者1.21 gigawatts
相关产品推荐
相关产品推荐

