返回

「点石成金」令行禁止:使用ora和node-ssh扩展node命令行工具并高效连接服务器

前端

前言

在日常的开发和运维工作中,我们经常需要与远程服务器进行交互,比如传输文件、执行命令、部署代码等等。传统的方法是使用SSH命令行工具,但这种方法往往繁琐且效率低下。

为了解决这个问题,我们可以使用ora和node-ssh这两个强大的工具来扩展node命令行工具的功能。ora是一个命令行工具包,可以帮助我们轻松地创建和修改命令行工具。而node-ssh是一个Node.js库,可以帮助我们轻松地连接到远程服务器并执行命令。

安装ora和node-ssh

npm install -g ora
npm install node-ssh

使用ora丰富命令行工具

安装

npm install -g ora

修改init命令

打开~/.bashrc文件,在末尾添加如下内容:

# ora别名
alias init='ora init'

修改index.ts

index.ts文件中,将init命令修改为如下内容:

import ora from 'ora';

const spinner = ora('正在初始化项目...');

// 执行初始化任务

spinner.succeed('初始化完成!');

新增-ng参数

index.ts文件中,新增一个-ng参数,并将其追加到.gi文件中。

// ...

const argv = process.argv.slice(2);
const ng = argv.includes('-ng');

// ...
# 将生成的文件名追加到.gi
init -ng

使用node-ssh连接服务器

import {SSH} from 'node-ssh';

const ssh = new SSH();

ssh.connect({
  host: 'your.server.com',
  username: 'username',
  password: 'password'
})
.then(() => {
  // 执行命令
  ssh.execCommand('ls -la /home/username').then((result) => {
    console.log(result.stdout);
  });

  // 断开连接
  ssh.dispose();
});

结语

通过使用ora和node-ssh,我们可以轻松地扩展node命令行工具的功能,并高效地连接到远程服务器执行各种任务。这将大大提高我们的开发和运维效率,让我们能够更加专注于核心业务。

延伸阅读