typescript Nestjs错误:无法找到模块“./app.controller”

zdwk9cvp  于 2022-12-30  发布在  TypeScript
关注(0)|答案(4)|浏览(284)

我似乎找不到错误的来源,因为应用程序是用Found 0 errors. Watching for file changes.编译的,我在StackOverflow上看到过类似的解决方案,但似乎没有一个解决这个问题
下面是堆栈跟踪

internal/modules/cjs/loader.js:797
    throw err;
    ^

Error: Cannot find module './app.controller'
Require stack:
- C:\Users\DELL\Documents\DokunFiles\Nestjs\app\api\dist\src\app.module.js
- C:\Users\DELL\Documents\DokunFiles\Nestjs\app\api\dist\src\main.js

使用下面的appModule,可以将app控制器正确导入app模块
app.module.ts

import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';

import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UserModule } from './user/user.module';

@Module({
  imports: [MongooseModule.forRoot(process.env.MONGO_URI,
    {
      useNewUrlParser: true,
      useUnifiedTopology: true
    })
    , UserModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule { }

app.controller.ts

import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return this.appService.getHello();
  }
}
3zwtqj6y

3zwtqj6y1#

运行:

npm run prebuild

rimraf dist

rm -rf dist/

再试一次。
我也有同样的问题:

stanislas@yeji > nest start                                                                                                    api -> master ! ? RC=130
internal/modules/cjs/loader.js:983
  throw err;
  ^

Error: Cannot find module './app.controller'
Require stack:
- /Users/stanislas/git/soundbase/api/dist/src/app.module.js
- /Users/stanislas/git/soundbase/api/dist/src/main.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15)
    at Function.Module._load (internal/modules/cjs/loader.js:862:27)
    at Module.require (internal/modules/cjs/loader.js:1042:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (/Users/stanislas/git/soundbase/api/dist/src/app.module.js:13:26)
    at Module._compile (internal/modules/cjs/loader.js:1156:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
    at Module.load (internal/modules/cjs/loader.js:1000:32)
    at Function.Module._load (internal/modules/cjs/loader.js:899:14)
    at Module.require (internal/modules/cjs/loader.js:1042:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/stanislas/git/soundbase/api/dist/src/app.module.js',
    '/Users/stanislas/git/soundbase/api/dist/src/main.js'
  ]
}

并注意到控制器确实未编译:

stanislas@yeji > ll dist/src/                                                                      api -> master ! ?
total 48
-rw-r--r--  1 stanislas  staff   138B Apr 19 17:45 app.module.d.ts
-rw-r--r--  1 stanislas  staff   2.1K Apr 19 17:45 app.module.js
-rw-r--r--  1 stanislas  staff   753B Apr 19 17:45 app.module.js.map
-rw-r--r--  1 stanislas  staff    11B Apr 19 17:45 main.d.ts
-rw-r--r--  1 stanislas  staff   340B Apr 19 17:45 main.js
-rw-r--r--  1 stanislas  staff   290B Apr 19 17:45 main.js.map
drwxr-xr-x  5 stanislas  staff   160B Apr 19 17:52 migration

但我注意到它是prod

stanislas@yeji > npm run build && npm run start:prod                                                                             api -> master ! ? RC=1

> soundbase-api@0.0.1 prebuild /Users/stanislas/git/soundbase/api
> rimraf dist

> soundbase-api@0.0.1 build /Users/stanislas/git/soundbase/api
> nest build

> soundbase-api@0.0.1 start:prod /Users/stanislas/git/soundbase/api
> node dist/main

[Nest] 95175   - 04/19/2020, 6:40:45 PM   [NestFactory] Starting Nest application...
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [InstanceLoader] PassportModule dependencies initialized +34ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [InstanceLoader] TypeOrmModule dependencies initialized +0ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [InstanceLoader] JwtModule dependencies initialized +1ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [InstanceLoader] AuthModule dependencies initialized +0ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [InstanceLoader] AppModule dependencies initialized +1ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [InstanceLoader] TypeOrmCoreModule dependencies initialized +56ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [InstanceLoader] TypeOrmModule dependencies initialized +1ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [InstanceLoader] UsersModule dependencies initialized +0ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RoutesResolver] AppController {}: +3ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RouterExplorer] Mapped {/auth/login, POST} route +3ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RouterExplorer] Mapped {/profile, GET} route +0ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RoutesResolver] UserController {/users}: +0ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RouterExplorer] Mapped {/users, POST} route +1ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RouterExplorer] Mapped {/users, GET} route +0ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RouterExplorer] Mapped {/users/:id, GET} route +1ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RouterExplorer] Mapped {/users/:id, PUT} route +0ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [RouterExplorer] Mapped {/users/:id, DELETE} route +0ms
[Nest] 95175   - 04/19/2020, 6:40:45 PM   [NestApplication] Nest application successfully started +2ms

然后它又自动开始工作了

stanislas@yeji > npm start                                                                                                     api -> master ! ? RC=130

> soundbase-api@0.0.1 start /Users/stanislas/git/soundbase/api
> nest start

[Nest] 95255   - 04/19/2020, 6:41:00 PM   [NestFactory] Starting Nest application...
[Nest] 95255   - 04/19/2020, 6:41:00 PM   [InstanceLoader] PassportModule dependencies initialized +35ms
[Nest] 95255   - 04/19/2020, 6:41:00 PM   [InstanceLoader] TypeOrmModule dependencies initialized +0ms
[Nest] 95255   - 04/19/2020, 6:41:00 PM   [InstanceLoader] JwtModule dependencies initialized +0ms
[Nest] 95255   - 04/19/2020, 6:41:00 PM   [InstanceLoader] AuthModule dependencies initialized +1ms
[Nest] 95255   - 04/19/2020, 6:41:00 PM   [InstanceLoader] AppModule dependencies initialized +0ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [InstanceLoader] TypeOrmCoreModule dependencies initialized +56ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [InstanceLoader] TypeOrmModule dependencies initialized +0ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [InstanceLoader] UsersModule dependencies initialized +1ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RoutesResolver] AppController {}: +3ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RouterExplorer] Mapped {/auth/login, POST} route +2ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RouterExplorer] Mapped {/profile, GET} route +1ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RoutesResolver] UserController {/users}: +0ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RouterExplorer] Mapped {/users, POST} route +1ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RouterExplorer] Mapped {/users, GET} route +0ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RouterExplorer] Mapped {/users/:id, GET} route +0ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RouterExplorer] Mapped {/users/:id, PUT} route +1ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [RouterExplorer] Mapped {/users/:id, DELETE} route +0ms
[Nest] 95255   - 04/19/2020, 6:41:01 PM   [NestApplication] Nest application successfully started +2ms

因为我之前已经试过nest build && node dist/main.js了,所以我很确定npm run prebuild又名rimraf dist(就是rm -rf dist/)能解决这个问题。因为这个问题在dist文件夹中,所以对我来说这很合理。但不确定确切的问题是什么。

2sbarzqh

2sbarzqh2#

tsconfig.json文件中查找"incremental": true。true表示增量更新。将其设置为false有望保存每次清理dist的时间

0pizxfdo

0pizxfdo3#

检查文件扩展名。在我的情况下,文件与控制器有.js扩展名,但必须.ts

6yoyoihd

6yoyoihd4#

从官方文档创建自定义库后

nest g library my-library

甚至跑步

npm run prebuild

我总是得到同样的错误,因为正在编译的src之外的文件(“libs”目录)。

这是我的dist文件夹:

我通过在tsconfig.build.ts中为排除的文件添加“libs”来解决这个问题

相关问题