一个 shell 小技巧

Node.JS 的开发者频繁地在使用 npm test,npm run build 和 npm run dev。做一个 shell 别名可以省很多键盘字母输入。

最简单的方式 ~/.bashrc 里面配置

alias t="npm test"
alias b="npm run build"
alias r="npm run"

但是这样有个小问题,就是参数输入。假如我们进行执行构建,但是不想使用缓存,就需要这样输入,

b -- --no-cache

执行测试更新快照需要

t -- -u

多写 -- 不是很方便,所以 alias 的方式不是很完美。

这里需要增加点逻辑,如果有输入参数都为空, 直接执行原命令,如果非空则通过 -- 来拼接参数。写一个 shell 函数,用 echo 调试看看。

function b {
# $# 命令参数个数, $* 参数列表
  if [ $# -eq 0 ] 
  then
# echo 就是 shell 中的 console.log
    echo npm run build
  else 
    echo npm run build -- $*
  fi
}

执行试试,符合预期

$b
npm run build
$b --no-cache --fast
npm run build -- --no-cache --fast

最终的配置如下。r 命令还是用别名的考虑是,如果要输入 npm 本身接受的参数的时候,可以用 r 来执行,比如r test -w spaceA,只执行npm workspace spaceA 下的 test 命令。

# ~/.bashrc 
function b {
  # $# 命令参数个数, $* 参数列表
  if [ $# -eq 0 ] 
  then
    npm run build
  else 
    npm run build -- $*
  fi
}

function t {
  if [ $# -eq 0 ] 
  then
    npm run test
  else 
    npm run test -- $*
  fi
}
alias r="npm run"

欢迎取用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值