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

将TS项目转为JS时遇Cannot find Module错误,求解决指导

解决TypeScript转JavaScript时的MODULE_NOT_FOUND错误

错误信息

Error: Cannot find module 'C:\Users\hadiz\Desktop\FinalApp\backend\index.js'
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
    at Function.Module._load (node:internal/modules/cjs/loader:804:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

问题分析

你的package.json中main字段和start脚本都指向根目录的index.js,但TypeScript编译后的产物大概率不在这个位置:

  • 源码入口是src/index.ts,若tsconfig.json未配置outDir,编译后的index.js会生成在src目录下,而非根目录;
  • 若配置了outDir(比如dist),产物会在对应目录,同样不会出现在根目录。

解决方案

1. 确认tsconfig.json配置

检查或创建tsconfig.json,确保rootDir和outDir正确指向源码和输出目录:

{
  "compilerOptions": {
    "rootDir": "./src",
    "outDir": "./dist",
    "target": "ES6",
    "module": "CommonJS",
    "strict": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}

2. 修改package.json配置

根据编译产物的位置,调整main字段和start脚本:

  • 若产物输出到dist目录:
{
  "name": "backend",
  "version": "1.0.0",
  "description": "",
  "main": "dist/index.js",
  "scripts": {
    "start": "node dist/index.js",
    "build": "tsc -p .",
    "dev": "nodemon --exec ts-node src/index.ts"
  },
  // 其余依赖配置不变
}
  • 若产物和源码同目录(src下):
{
  "name": "backend",
  "version": "1.0.0",
  "description": "",
  "main": "src/index.js",
  "scripts": {
    "start": "node src/index.js",
    "build": "tsc -p .",
    "dev": "nodemon --exec ts-node src/index.ts"
  },
  // 其余依赖配置不变
}

3. 执行构建并启动

先运行构建命令生成JavaScript产物:

npm run build

确认对应目录下生成了index.js后,再启动项目:

npm start

额外优化(可选)

将开发依赖移到devDependencies字段,更符合项目规范:

npm uninstall nodemon ts-node typescript
npm install --save-dev nodemon ts-node typescript

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:35:22