Nest.js项目小结2

1.配置了项目路径别名

        tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "ES2021",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false,
    "paths":{
      "@/*":["src/*"]
    }
  }
}

2.新增了文章功能

        article.controller.ts

import { Controller, Post } from '@nestjs/common'
import { ArticleService } from './article.service'

@Controller()
export class ArticleController{
   constructor(private article: ArticleService) {}

    @Post("article")
    findAll(){
        return this.article.findAll() // 返回的是一个数组
    }
}

        article.module.ts

import { Module } from '@nestjs/common'
import { ArticleController } from './article.controller';
import { ArticleService } from './article.service';

@Module({
   controllers: [ ArticleController],
   providers: [ ArticleService]
})

export class ArticleModule{}

        article.service.ts

import { Injectable } from '@nestjs/common'
import { PrismaService } from '@/prisma/prisma.service'
import { ConfigService } from '@nestjs/config'

@Injectable()
export class ArticleService{
    constructor(private prisma: PrismaService , private config: ConfigService) {}

    async findAll(page = 1) {
        const row = this.config.get('ARTICLE_PAGE_ROW')
        const articles = await this.prisma.article.findMany({
            skip: (page - 1) * row,
            take: +row
        })
        const total = await this.prisma.article.count()


        return {
            meta: {
                current_page: page,
                page_row: row,
                total,
                total_page: Math.ceil(total / row) // 向上取整
            },
            data: articles
        }
    }
}

3.配置了env

DATABASE_URL=

# TOKEN密钥
TOKEN_SECRET = 

# 每页文章数
ARTICLE_PAGE_ROW = 10

4.配置了app.module.ts

import { Module } from '@nestjs/common';
import { AuthModule } from './auth/auth.module';
import { PrismaModule } from './prisma/prisma.module';
import { ArticleModule } from './article/article.module';
import { ConfigModule } from '@nestjs/config';


@Module({
  imports: [ AuthModule , PrismaModule , ArticleModule , ConfigModule.forRoot({ isGlobal: true })],
})
export class AppModule {}

相关推荐

  1. Nest.js项目2

    2024-04-26 23:22:03       35 阅读
  2. AWS无服务器 应用程序开发—第十三章 2

    2024-04-26 23:22:03       33 阅读
  3. Nest.js项目初始配置

    2024-04-26 23:22:03       36 阅读
  4. 2.4学习周

    2024-04-26 23:22:03       42 阅读
  5. 将一个nextjs项目部署到vercel

    2024-04-26 23:22:03       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 23:22:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 23:22:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 23:22:03       82 阅读
  4. Python语言-面向对象

    2024-04-26 23:22:03       91 阅读

热门阅读

  1. 机器学习模型保存和导出pmml文件(python代码)

    2024-04-26 23:22:03       37 阅读
  2. 贪吃蛇项目实践!(下)

    2024-04-26 23:22:03       44 阅读
  3. git 缓冲区查看与设置

    2024-04-26 23:22:03       29 阅读
  4. PostgreSQL恢复系列:pg_filedump恢复字典构造---惜分飞

    2024-04-26 23:22:03       38 阅读
  5. C++中的STL——stack类的基本使用

    2024-04-26 23:22:03       38 阅读
  6. web前端第三次笔记

    2024-04-26 23:22:03       32 阅读
  7. centos常用命令(持续更新)

    2024-04-26 23:22:03       34 阅读
  8. CSS - 定位详解

    2024-04-26 23:22:03       29 阅读