TypeScript Restful Starter 项目教程

TypeScript Restful Starter 项目教程

Typescript-restful-starterNode.js + ExpressJS + Joi + Typeorm + Typescript + JWT + ES2015 + Clustering + Tslint + Mocha + Chai项目地址:https://gitcode.com/gh_mirrors/ty/Typescript-restful-starter

1. 项目的目录结构及介绍

Typescript-restful-starter/
├── app/
│   ├── models/
│   └── ...
├── config/
│   └── ...
├── lib/
│   └── env/
├── test/
├── .env
├── .gitignore
├── Dockerfile
├── Index.ts
├── LICENSE
├── README.md
├── env.ts
├── nodemon.json
├── package-lock.json
├── package.json
├── tsconfig.json
└── tslint.json
  • app/: 包含应用程序的主要代码,如模型、控制器等。
  • config/: 包含项目的配置文件。
  • lib/: 包含库文件,如环境配置文件。
  • test/: 包含测试文件。
  • .env: 环境变量配置文件。
  • .gitignore: Git忽略文件配置。
  • Dockerfile: Docker配置文件。
  • Index.ts: 项目启动文件。
  • LICENSE: 项目许可证。
  • README.md: 项目说明文档。
  • env.ts: 环境配置文件。
  • nodemon.json: Nodemon配置文件。
  • package-lock.json: 依赖锁定文件。
  • package.json: 项目依赖和脚本配置文件。
  • tsconfig.json: TypeScript配置文件。
  • tslint.json: TSLint配置文件。

2. 项目的启动文件介绍

Index.ts 是项目的启动文件,负责启动应用程序。以下是 Index.ts 的基本结构和功能:

// Index.ts
import { createConnection } from 'typeorm';
import { app } from './app';
import { config } from './config';

async function startServer() {
  try {
    await createConnection(config.database);
    app.listen(config.app.port, () => {
      console.log(`Server is running on http://${config.app.host}:${config.app.port}`);
    });
  } catch (error) {
    console.error('Unable to connect to the database:', error);
  }
}

startServer();
  • createConnection: 连接数据库。
  • app.listen: 启动服务器并监听指定端口。
  • config: 包含应用程序和数据库的配置信息。

3. 项目的配置文件介绍

.env 文件是项目的环境变量配置文件,包含应用程序和数据库的配置信息。以下是 .env 文件的基本内容:

# APPLICATION
APP_NAME=restful-starter-server
APP_SCHEMA=http
APP_HOST=localhost
APP_PORT=3000
APP_SECRET=HltH3R3

# MySQL DATABASE
TYPEORM_CONNECTION=mariadb
TYPEORM_HOST=localhost
TYPEORM_PORT=3306
TYPEORM_USERNAME=root
TYPEORM_PASSWORD=root
TYPEORM_DATABASE=test
TYPEORM_SYNCHRONIZE=true
TYPEORM_LOGGING=error
TYPEORM_LOGGER=advanced-console

# PATH STRUCTURE
TYPEORM_ENTITIES=app/models/**/*.ts
TYPEORM_ENTITIES_DIR=app/models
  • APP_NAME: 应用程序名称。
  • APP_SCHEMA: 应用程序协议(如 http 或 https)。
  • APP_HOST: 应用程序主机地址。
  • APP_PORT: 应用程序端口号。
  • APP_SECRET: 应用程序密钥。
  • TYPEORM_CONNECTION: 数据库连接类型。
  • TYPEORM_HOST: 数据库主机地址。
  • TYPEORM_PORT: 数据库端口号。
  • TYPEORM_USERNAME: 数据库用户名。
  • TYPEORM_PASSWORD: 数据库密码。
  • TYPEORM_DATABASE: 数据库名称。
  • TYPEORM_SYNCHRONIZE: 是否自动同步数据库结构。
  • TYPEORM_LOGGING: 数据库日志级别。
  • TYPEORM_LOGGER: 数据库日志记录器。
  • TYPEORM_ENTITIES: 数据库实体文件路径。
  • TYPEORM_ENTITIES_DIR: 数据库实体文件目录。

Typescript-restful-starterNode.js + ExpressJS + Joi + Typeorm + Typescript + JWT + ES2015 + Clustering + Tslint + Mocha + Chai项目地址:https://gitcode.com/gh_mirrors/ty/Typescript-restful-starter

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劳治亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值