如何启动Nestjs应用程序?

4
我开始着手处理一个NestJS应用程序,之前的开发人员没有留下任何文档或注释,而我对NestJS和Node都很陌生。
我在本地运行该应用程序时遇到了困难,该应用程序是使用以下技术开发的:NestJS、GraphQL、apollo-server-express、Prisma。
首先,我提取了repo文件并运行了以下命令(npm install、npm run build、npm run start),但我得到了以下错误日志:

enter image description here

这是我的npm脚本:

    "build": "cross-env NODE_ENV=production webpack --progress --config webpack.config.prod.js",
    "start:hmr": "node ./dist/server.js",
    "start": "ts-node -r tsconfig-paths/register src/main.ts",

我尝试将启动脚本更改为

"start": "npm i -g @prisma/cli @nestjs/cli && prisma generate && node dist/main"

还是不起作用

main.ts

import 'source-map-support/register';
import { Env } from '@shared/utils';
import { AppModule } from '@app/app.module';
import { NestFactory } from '@nestjs/core';
import { ExpressAdapter, NestExpressApplication } from '@nestjs/platform-express';
import { HttpExceptionFilter } from '@shared/filters/http-exception.filter';
import { LoggerService } from '@shared/services';
import './seed';

const LOGGER = new LoggerService('Main');
const PORT: number = Env('PORT', 3000);
async function bootstrap() {
  const app = await NestFactory.create<NestExpressApplication>(AppModule, new ExpressAdapter(), {
    logger: LOGGER,
  });
  await app.useGlobalFilters(new HttpExceptionFilter()).listenAsync(PORT);
  return PORT;
}

bootstrap()
  .then(port => LOGGER.log(`  Server ready at ${port}, started in ${process.uptime()}s`))
  .catch(e => LOGGER.error(e.message, e));

注意:我已经全局安装了Nest cli和npm。谢谢。
2个回答

2
尝试使用以下方式,将您的启动命令替换为:

"start": "nest start --watch,


这样做可以启用监视模式。

0

首先,您需要在package.json中添加以下内容
"start:dev": "nest start --watch"

然后,您可以尝试运行以下命令
npm run start:dev

它将以开发模式运行项目。您还可以尝试删除项目中的“.spec”文件并运行上述命令。


然后,他需要为 start:dev 添加脚本。 - Wang Liang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接