typescript - 如何使用 Typescript 创建自定义 CLI 工具
问题描述
我刚刚编写了一个.json
使用 Typescript 转换不同文件格式的程序。
但我使用固定文件路径来读取它。
const file = readFileSync('./name_of_file_path.json', 'utf-8'); // fix file path.
file_obj = JSON.parse(file);
// more code ...
我想知道可以使程序成为CLI工具,使文件路径更灵活。
用户只需要在命令提示符类型:
converter_json [-someFlagOption] ./folder/random_json_file_path.json
然后程序将.json
像这样获取用户的文件路径:
function func_user_file_path(){ // some function like this?
return real_user_json_filepath;
}
var file_path_input: string;
file_path_input = func_user_file_path() //dynamic file path (user input)
const file = file_path_input;
file_obj = JSON.parse(file);
// more code ...
所以我的问题是如何做到这一点?
解决方案
TypeScript 被编译成 JavaScript,由 NodeJS 执行。要创建一个基本的 cli,您将创建一个 npm 包,(可选地)发布它,然后用户将在他们的机器上安装该包(npm install -g)以便能够调用它。有许多库可以帮助您解析命令行参数和控制台输入/输出。
推荐阅读
- vb.net - 如何使用 VB.NET 将 MS SQL 中的 chart1 保存为图像?
- shell - 从 JenkinsFile 中的文件中的键值对中提取值
- json - 单击按钮后 CSV 不下载,
- google-cloud-platform - Google cloud platform | 100% API error rate when using google translation API
- time - 找出 ddmmmyyyyhhmmss SAS 格式的 2 个时间戳之间的微小差异
- javascript - 添加自定义函数/方法以测试控制器 t
- ruby - 具有多个应用服务器的无效重置密码令牌
- swift - 在 SwiftUI 视图中两次引用同一路径的最佳方法是什么?
- internet-explorer - IE 或 Edge Print 对话框在没有会话的情况下向服务器发送请求(因为 SameSite=Lax on session cookie)
- sql-server - 从 SQL Server 读取 UTF-8 字符串并在 VB6 控件中显示