📜  来自基因田庄的 tss - TypeScript (1)

📅  最后修改于: 2023-12-03 15:26:34.666000             🧑  作者: Mango

来自基因田庄的 tss - TypeScript

介绍

tss(TypeScript Scaffold System)是一款由基因田庄开发的 TypeScript 脚手架系统。它通过提供一系列可复用的代码库和工具,让开发者能够快速构建 TypeScript 项目,使项目开发更高效、更简洁。

特性
  • 集成了最新版 TypeScript,为开发者提供了可靠的类型检查和编译。
  • 支持多种项目类型:Web、Node、React、Vue 等。
  • 集成了开箱即用的 ORM 库 TypeORM,让数据库操作更加便捷和高效。
  • 支持自定义脚本配置,可以方便地添加和管理自定义脚本。
  • 支持使用不同的环境配置,如 development、production,方便项目部署和维护。
  • 支持使用 Docker 部署,让项目部署更加简单和方便。
安装

在终端命令行中执行以下命令安装 tss:

npm install -g tss
创建项目

在终端命令行中执行以下命令创建一个基于 tss 的 TypeScript 项目:

tss create my-project

以上命令将在当前目录下创建一个名为 my-project 的项目,并自动安装项目所需的依赖库。

使用
开发模式

在终端命令行中执行以下命令以启动项目的开发模式:

npm run dev

以上命令将启动项目的开发模式,监听文件变化并重新编译代码。项目的入口文件为 src/index.ts。

生产模式

在终端命令行中执行以下命令以启动项目的生产模式:

npm run start

以上命令将以生产模式启动项目,编译和压缩代码,并启动项目服务。项目的入口文件为 dist/index.js。

自定义脚本

在项目的 package.json 文件中,可以配置自定义脚本,例如:

"scripts": {
  "build": "tsc",
  "test": "jest",
  "start": "node dist/index.js"
}

以上配置将 tsc、jest、node 命令配置为自定义脚本,开发者可以在终端命令行中直接执行这些自定义脚本。

环境变量

在项目的根目录下,可以创建一个名为 .env 的文件用于配置环境变量:

PORT=8080
DB_HOST=localhost
DB_PORT=3306

以上配置将端口号、数据库主机和端口号配置为环境变量,开发者可以使用 process.env 访问这些环境变量。

Docker 部署

在项目的根目录下,可以创建一个名为 Dockerfile 的文件用于配置 Docker 镜像:

FROM node:12.18.4-alpine

WORKDIR /app

COPY package*.json ./
RUN npm ci --only=production

COPY . .

EXPOSE 8080

CMD ["node", "dist/index.js"]

以上配置将使用 Node.js 的 12.18.4-alpine 版本作为镜像基础,安装项目的生产依赖库,拷贝项目源代码,并将容器的 8080 端口暴露出来,并启动项目服务。

更多资料

tss 的详细文档和示例代码可以在 tss GitHub 项目页面 获取。