快速上手

环境要求

  • Node.js 版本 >= 14.5.0
  • TypeScript
  • Yarn

Yarn 不是必须的,你也可以使用 npm 或其他包管理工具,文档中的示例均已 Yarn 为例。

初始化项目

# 初始化
yarn init

# 安装依赖
yarn add typescript @types/node -D

# 初始化 TypeScript 配置
npx tsc --init

将 tsconfig.json 中的 experimentalDecoratorsemitDecoratorMetadata 配置项设为 true

安装 Notyp

yarn add @notyp/core reflect-metadata class-transformer class-validator

class-transformerclass-validator 不是必需的,如果不使用参数校验相关功能,可以不安装。

添加项目文件

Notyp 不限制目录结构,本文档以下面的目录结构为例进行,其中 src/app.ts 为项目入口文件:

|- src
    |- controller
          |- user.ts
    |- app.ts
|- package.json
|- tsconfig.json

src/app.ts

import 'reflect-metadata'; // 项目入口顶端导入 reflect-metadata
import { Application } from '@notyp/core';
import { UserController } from './controller/user';

const app = new Application({
  controllers: [UserController],
});

app.bootstrap(8000, () => {
  consoloe.log('app is runing at http://localhost:8000');
});

src/controller/user.ts

import { Controller, Get, Params } from '@notyp/core';

@Controller('user')
export class UserController {
  @Get(':id')
  async getUser(@Params('id') id: string) {
    return `hello user ${id}`;
  }
}

启动项目

添加完上面的项目文件,就有了一个极简但完整的项目,现在可以启动项目了。

开发时可以直接使用 ts-node 启动(需单独安装):

npx ts-node ./src/app.ts

也可以使用 tsc 编译后直接运行 js 文件。

项目启动后,可以在控制台看到 app is runing at http://localhost:8000,通过浏览器访问 http://localhost:8000/user/1 就可以看到响应了。

现在就可以开始编写你的伟大项目了!