跳到主要内容

Node.js TypeScript:如何自动化开发工作流程

摘要:在本教程中,你将学习如何在 Node.js 项目中使用 TypeScript 的自动化开发工作流程。

本教程假设你的系统上安装了 node.jstsc 模块。

创建项目结构

首先,创建一个名为 nodets 的新目录。

然后,在 nodets 下创建两个子目录,分别称为 buildsrc,如下所示:

你将把 TypeScript 代码存储在 src 目录中。

一旦 TypeScript 编译器编译源 TypeScript 文件,它会将输出文件存储在 build 目录中。

配置 TypeScript 编译器

从 macOS 和 Linux 上的终端或 Windows 上的命令提示符,在 nodets 目录中运行以下命令以创建 tsconfig.json 文件:

tsc --init

你将看到在 nodets 目录下创建的 tsconfig.json

tsconfig.json 文件表示该目录 (nodets) 是 TypeScript 项目的根目录。

当编译 TypeScript 文件时,TypeScript 编译器将使用 tsconfig.json 中的配置来编译项目。

现在,你可以打开 tsconfig.json 文件。 里面有很多配置项。 在本教程中,将重点关注这两个选项:

  • rootdir – 指定 TypeScript 输入文件的根目录。
  • outdir - 存储 JavaScript 输出文件。

这些配置项默认被注释掉了。 你需要取消注释(删除行开头的 //)并按如下方式更改它们:

对于 outDir 选项:

"outDir": "./build"

对于 rooDir 配置项:

"rootDir": "./src"

要验证新配置,可以在 ./src 目录下创建一个名为 app.ts 的新文件,并增加以下代码:

console.log('Node.js TypeScript');

然后运行以下命令来执行 TypeScript 编译器。 它将编译 src 目录中存储的所有文件:

tsc

如果配置正确,你会在 ./build 目录下看到生成的 app.js

要运行 app.js,请导航到 build 目录并执行以下命令:

node app.js

你将看到以下输出:

Node.js TypeScript

每次更改 TypeScript 代码时,都需要:

  • 构建项目。
  • 运行 JavaScript 输出文件。

这很耗时。

幸运的是,你可以使用一些 Node.js 模块自动化整个过程。

安装 Node.js 模块

nodemon 模块允许你在更改 JavaScript 源代码时自动重新启动应用程序。

concurrently 模块同时运行多个命令。

首先,从项目根目录执行 npm init 命令:

npm init --yes

接下来,安装 nodemonconcurrently 模块:

npm install --g nodemon concurrently

安装需要一些时间。

请注意,-g 标志将指示 npm 全局安装这两个模块。 这允许你在其他项目中使用它们。

然后,打开 package.json 文件,你会在 scripts 选项中看到类似这样的内容:

...  
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
...

之后,将 scripts 选项更改为以下内容:

...
"scripts": {
"start:build": "tsc -w",
"start:run": "nodemon build/app.js",
"start": "concurrently npm:start:*"
},
...

这个 "start:build": "tsc -w" 将监视 ./src 目录中的更改并自动编译它们。

每当生成新文件时,"start:run":"nodemon build/app.js" 都会自动运行 ./build 目录中的 app.js

这个 "start": "concurrently npm:start:*" 运行所有以 npm:start:* 开头的命令,它同时执行上面的 start:buildstart:run 命令。

由于 app.js 将成为 Node.js 程序的入口点,因此还需要将 package.json 文件中的以下选项更改为 app.js

从:

"main": "index.js"

修改为:

"main": "app.js"

最后,执行以下命令:

npm start

要验证配置,需要更改 app.ts 中的一些代码。 你将在控制台中看到输出。

在本教程中,你学习了如何设置在 Node.js 项目中使用 TypeScript 的开发工作流程。