В настоящее время я работаю над проектом, в котором я хочу создать приложение NodeJS, которое работает на CloudFoundry. Приложение должно предоставить некоторые данные из базы данных. Для реализации требований я использую NestJs и TypeORM.
Когда я запускаю приложение на локальном компьютере, все работает нормально. Но когда я пытаюсь отправить приложение в Cloud Foundry (используя cf push), возникает эта ошибка:
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR internal/modules/cjs/loader.js:638
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR throw err;
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR ^
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR Error: Cannot find module 'src/allocation/allocation.entity'
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at Function.Module._load (internal/modules/cjs/loader.js:562:25)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at Module.require (internal/modules/cjs/loader.js:690:17)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at require (internal/modules/cjs/helpers.js:25:18)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at Object.<anonymous> (/home/vcap/app/dist/user/user.entity.js:12:29)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at Module._compile (internal/modules/cjs/loader.js:776:30)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at Module.load (internal/modules/cjs/loader.js:653:32)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
2019-10-13T20:21:47.85+0200 [APP/PROC/WEB/0] ERR at Function.Module._load (internal/modules/cjs/loader.js:585:3)
Я обнаружил, что ошибка возникает только при использовании TypeORMs Join Decorators (например, @OneToMany или @ManyToOne).
Это исходный код «alloc.entity» и «user.entity» (я пропустил некоторые свойства класса, чтобы показать только соответствующее содержимое):
(выделение.entity.ts):
import { Entity, Column, PrimaryColumn, ManyToOne } from 'typeorm';
import { UserEntity } from 'src/user/user.entity';
@Entity()
export class AllocationEntity {
@ManyToOne(() => UserEntity, user => user.allocations)
user: UserEntity;
}
(user.entity.ts):
import { AllocationEntity } from 'src/allocation/allocation.entity';
import { Entity, Column, PrimaryColumn, OneToMany } from 'typeorm';
@Entity()
export class UserEntity {
@OneToMany(() => AllocationEntity, allocation => allocation.user)
allocations: AllocationEntity[];
}
Кто-нибудь знает, как решить эту проблему?
Спасибозаранее!
f1a2buge