Javascript

使用 Node.js 构建基于 Typescript 的命令行界面 (CLI)

本文主要是介绍使用 Node.js 构建基于 Typescript 的命令行界面 (CLI),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用 Node.js 构建基于 Typescript 的命令行界面 (CLI)

我们的目标是使用 Typescript 创建一个基于 Node.js 的命令行界面 (CLI)。此设置包括顶级等待支持和 ES 模块导入。

我们要建造什么

对于本教程,我们将创建一个名为 在太空 .执行时,CLI 将输出空间中的当前人员。

入门

我们将从头开始创建 CLI,但您也可以从随附的代码中获取代码副本 存储库 .

为项目创建一个新目录。随便叫什么,我正在使用 在太空

 mkdir 空间  
 cd 空间

通过创建一个新的 npm 包 包.json 文件:

 npm 初始化 -y

要支持导入 ES 模块,请添加 类型 生成的属性 包.json 文件:

 {  
 “类型”:“模块”,  
 // 休息...  
 }

要启用执行 CLI,请添加 垃圾桶 生成的属性 包.json 文件:

 {  
 "bin": "src/index.ts",  
 // 休息...  
 }

创建一个 tsconfig.json 文件在同一文件夹中并包含以下内容以启用导入 ES 模块并包含顶级等待支持:

 {  
 “编译器选项”:{  
 “目标”:“ES2022”,  
 “模块”:“ES2022”,  
 “esModuleInterop”:是的,  
 “模块解析”:“节点”  
 }  
 }

创建入口点

创建 Typescript 入口点 src/index.ts 文件,以匹配 包.json 斌财产。包括以下 shebang 作为文件的第一行:

 #!/usr/bin/env npx ts-node --esm

esm 包含标志以支持 ES 模块导入。确保文件包含执行权限。可以使用以下命令添加执行权限:

 chmod u+x ./src/index.ts

将 Typescript 添加到文件中以帮助测试执行:

 console.log("Typescript 执行成功");

该文件 (CLI) 现在可以像二进制文件一样直接执行。

 ./src/index.ts

使命令全局可用

现在可以使用以下命令在本地全局安装 npm 包:

 npm 安装 -g

安装后,现在可以使用包名执行 npm 包:

 在太空

包依赖

CLI 的基础现已建立。 CLI 的功能已准备好充实,是对 CLI 基础的补充。添加以下依赖项仅用于展示示例 CLI 功能。

  • axios — 基于 Promise 的 HTTP 客户端
  • chalk — 为输出着色
  • clear — 清除终端屏幕
  • figlet — 从文本创建 ASCII 艺术

使用以下命令安装依赖项:

 npm install -S axios chalk clear figlet

示例 CLI 功能

将已安装包的导入添加到 Typescript 入口点 src/index.ts 文件。

 从'axios'导入axios;  
 从“粉笔”导入粉笔;  
 从“清除”导入清除  
 从“figlet”导入 figlet

我们使用 Open Notify API 作为数据源。创建类型来处理 API 响应。

 类型人= {  
 名称:字符串;  
 工艺:字符串;  
 } 类型居民= {  
 号码:号码;  
 人:人[]  
 }

添加一个函数来封装使用 Axios 与 Open Notify API 的交互。

使用清除终端屏幕 清除 ,然后使用打印一个 ASCII 标头 无花果 .

使用 获取InhabitantsOfSpace 函数并使用打印结果 粉笔 .

这完成了我们的简单示例 CLI 功能。

将 CLI 发布到 NPM

如果使用以下命令登录到 npm,现在可以发布 npm 包:

 npm 发布

现在可以使用以下命令全局安装 npm 包:

 npm install -g 空间

安装后,现在可以使用包名执行 npm 包:

 在太空

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/14410/34540501

这篇关于使用 Node.js 构建基于 Typescript 的命令行界面 (CLI)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!