I cant seem to locate where the error is coming from as the app compiled with Found 0 errors. Watching for file changes.
I have seen similar resolve on StackOverflow but none seem to address the issue
Here is the stack trace
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
With the appModule below, the app controller is properly imported into the app module
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();
}
}
Run:
npm run prebuild
or
rimraf dist
or
rm -rf dist/
And try again.
I had the same issue:
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'
]
}
And noticed the controller was indeed not compiled:
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
But I noticed it worked as prod
:
stanislas@yeji > npm run build && npm run start:prod api -> master ! ? RC=1
> [email protected] prebuild /Users/stanislas/git/soundbase/api
> rimraf dist
> [email protected] build /Users/stanislas/git/soundbase/api
> nest build
> [email protected] 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
And then it automagically started working again:
stanislas@yeji > npm start api -> master ! ? RC=130
> [email protected] 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
Since I already tried nest build && node dist/main.js
beforehand, I'm pretty sure npm run prebuild
aka rimraf dist
(which just rm -rf dist/
) did the trick. Since the issue was in the dist
folder, that seems logical enough for me. Not sure what the exact issue was though.
Look for "incremental": true
in your tsconfig.json
file. The true makes incremental updates. Setting it to false hopefully will save you having to clean dist
every time
Check file extension. In my case file with controller has .js extension, but must .ts
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With