资讯专栏INFORMATION COLUMN

Nest.js 入门小例子

olle / 1658人阅读

摘要:例子目录结构如下代码编写工具采用目录功能具体描述项目根目录模块安装目录。此例子对的版本和以上的版本也是有要求的,具体看官方文档。有中文文档的,但是那个网站有时候会访问不了。不过在上有中文翻译的托管。此例子完整代码在上也可以查看。

Nest.js 入门小例子

前言:虽然使用官网的cli工具生成了一个基本的项目,但是由于正常开发中的项目的目录结构往往需要自定义的,官方这个例子并不能满足我们的需求,而且对于新手来说,有一个完整的入门示例也是至关重要的。

例子目录结构如下:

代码编写工具采用VSCode.

目录功能具体描述:

first-nestjs-app 项目根目录

node_modules node.js 模块安装目录 。cli工具不会生成这个目录,需要自己安装

src cli工具生的源代码目录

test 测试目录

src 目录下的 test 目录是我自定义的目录,用于放演示代码。

具体代码描述:

test.controller.ts

import { Get, Controller } from "@nestjs/common";
import { TestService } from "./test.service";  // 引用service文件

@Controller("test")  //  /test/ 路径
export class TestController {
  constructor(private readonly testService: TestService) {}

  @Get()             //   /test/ 路径  firstTest 函数名可以随意起
  firstTest(): string {
    return this.testService.test();
  }

  @Get(":id")     //   /test/1  等等路径
  findOneTest(): string {
    return this.testService.findOneTest();
  }
}
// controller 只是做个简单的路由转发,具体的逻辑是由service文件处理的。

test.service.ts

import { Injectable } from "@nestjs/common";

@Injectable()
export class TestService {

  test(): string {  // test   名字和 test.controller.ts 调用的地方要对应上
    return "test test test!";   //具体的逻辑处理这里做
  }

  findOneTest(): string {
    return "findOneTest!";
  }
}

test.module.ts

import { Module } from "@nestjs/common";
import { TestController } from "./test.controller";
import { TestService } from "./test.service";

// 在Module的配置文件里配置对应的  controller  和  service
@Module({
  imports: [],
  controllers: [TestController],
  providers: [TestService]
})
export class TestModule {}

app.module.ts

// 最后需要把TestModule 加入到app.module.ts 的配置里
import { Module } from "@nestjs/common";
import { AppController } from "./app.controller";
import { AppService } from "./app.service";
import { TestModule } from "./test/test.module";   //引入文件

@Module({
  imports: [TestModule],   // 加到这里来
  controllers: [AppController],
  providers: [AppService]
})
export class AppModule {}

最后先安装好所有的依赖, npm install 或者 cnpm install ,然后在根目录下执行 npm start run.然后在浏览器访问 http://localhost:3000/test/http://localhost:3000/test/1 分别会输出不同的结果。

PS:此例子对Node.js的版本和Nest.js(5.0以上)的版本也是有要求的,具体看官方文档。Nest.js有中文文档的,但是那个网站有时候会访问不了。不过在github上有中文翻译的托管。

此例子完整代码在GitHub上也可以查看。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95401.html

相关文章

  • 一步步实现nest粒子特效

    摘要:尝试实现画出一个弹射的小球很简单,那怎么用多个小球实现这样的效果呢。 本文首发于我的博客,这是我的github,欢迎star。   这篇博客是模仿nest.js实现一个demo,由简单到复杂,来一步步的实现它。这里是效果预览。我的github里边还有很多别的前端的demo,喜欢的话可以点个star,你的支持就是我的动力。 从一道面试题开始 实现一个半径10px的小球在500px*5...

    ky0ncheng 评论0 收藏0
  • 手把手教你封装Vue组件

    摘要:为了能在上更简便地使用这个炫酷的特效,在原项目作者的提醒下,花了几小时直接将封装成了组件。 showImg(https://segmentfault.com/img/bVbcFuE?w=1440&h=900); 为了能在Vue上更简便地使用canvas-nest.js这个炫酷的特效,在原项目作者的提醒下,花了几小时直接将canvas-nest封装成了vue-canvas-nest组件。...

    yanwei 评论0 收藏0
  • 基于 Nest.js(Node.js) 的模块化敏捷开发系统架构 Notadd 2.0 Beta2

    摘要:快速开始下载码云高速下载安装执行包安装,如无,请先执行自动创建数据库配置必须使用必须使用必须使用运行更新月报年月年月年月年月年月年月年月年月年月下载地址码云一点说明月将发布用户中心模块和模块,月月后续还会有商城模块微信模块 前言 大多数 node.js 框架都没解决架构问题,使得 node.js 没能像 spring 一样的适合大型项目开发和维护的框架。 nest.js 出现改变了这种...

    gaosboy 评论0 收藏0
  • 一个非常赞的网页背景效果——canvas-nest

    摘要:推荐项目一个基于绘制的网页背景效果,很赞。非常轻量级,只有行代码左右,如果开启更小了。使用起来非常简单,即使你不是开发者,用起来也没有问题。将下面的代码插入到网页的之间,最好是在前面。请不要讲代码放到标签之类,不然不会生效。 github推荐项目 canvas-nest.js A nest backgroud of website draw on canvas. 一个基于canvas...

    tyheist 评论0 收藏0

发表评论

0条评论

olle

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<