引入
ts
import {
execCommand,
execCommandAll,
nodePost,
nodeGet,
nodePut
} from 't-comm';
// 不支持 tree-shaking 的项目
import {
execCommand,
execCommandAll,
nodePost,
nodeGet,
nodePut
} from 't-comm/lib/node/index';
// 只支持 ESM 的项目
import {
execCommand,
execCommandAll,
nodePost,
nodeGet,
nodePut
} from 't-comm/es/node/index';execCommand(command, root, options)
描述:
在 Node.js 中调用 child_process.execSync 执行命令 该方法会对输出结果进行处理,默认只返回指定行的内容(默认第一行)
参数:
| 参数名 | 描述 |
|---|---|
| command | 要执行的命令字符串 |
| root | 执行命令的工作目录,默认为当前工作目录 |
| options | 配置选项,可以是字符串(stdio)或对象 |
| options.stdio | 标准输入输出配置,默认为 'pipe' |
| options.line | 返回结果的行号,默认为 0(第一行),设置为 -1 返回全部内容 |
| options.throwError | 是否在命令执行失败时抛出错误,默认为 false |
返回:
命令执行结果字符串
示例
ts
// 获取 git 分支名(第一行)
const branch = execCommand('git branch', '/path/to/repo');
// 获取完整输出
const output = execCommand('ls -la', './', { line: -1 });
// 自定义 stdio
const result = execCommand('npm install', './', { stdio: 'inherit' });execCommandAll(command, root, stdio)
描述:
在 Node.js 中调用 child_process.execSync 执行命令并返回第一行结果 该方法是 execCommand 的简化版本,始终返回输出的第一行
参数:
| 参数名 | 描述 |
|---|---|
| command | 要执行的命令字符串 |
| root | 执行命令的工作目录,默认为当前工作目录 |
| stdio | 标准输入输出配置,默认为 'pipe' |
返回:
命令执行结果的第一行(去除首尾空格)
示例
ts
// 获取当前 git 分支
const branch = execCommandAll('git rev-parse --abbrev-ref HEAD');
// 获取 Node 版本
const nodeVersion = execCommandAll('node --version');nodePost()
描述:
获取 Promise 化的 HTTP POST 请求方法 将 request.post 方法转换为返回 Promise 的异步函数
参数:
返回:
Promise 化的 POST 请求函数
示例
ts
const post = nodePost();
const response = await post({
url: 'https://api.example.com/data',
json: { key: 'value' }
});nodeGet()
描述:
获取 Promise 化的 HTTP GET 请求方法 将 request.get 方法转换为返回 Promise 的异步函数
参数:
返回:
Promise 化的 GET 请求函数
示例
ts
const get = nodeGet();
const response = await get('https://api.example.com/data');nodePut()
描述:
获取 Promise 化的 HTTP PUT 请求方法 将 request.put 方法转换为返回 Promise 的异步函数
参数:
返回:
Promise 化的 PUT 请求函数
示例
ts
const put = nodePut();
const response = await put({
url: 'https://api.example.com/data/123',
json: { key: 'updated value' }
});