node使用Git Bash作为命令行终端示例

 更新时间:2023年08月14日 11:39:13   作者:文蔺  
这篇文章主要为大家介绍了node使用Git Bash作为命令行终端示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

命令行也有苦恼

不知身为前端er的你是不是还在使用 Windows 开发?反正我是。使用 Git?使用 npm scripts?好吧,命令行是少不了的吧?想必很多同学和我一样,使用 Git Bash 作为命令行终端吧。

可是每次都要敲,累不累?想想一次简单的 Git 提交需要几个步骤?

$ git add -A
$ git commit -m 'commit'
$ git push

图简便的你可能会在 package.json 中这样配置:

{
    // ...
    "scripts": {
       // ...
       "push": "git add -A && git commit -m 'commit' && git push"
    }
}
// ...

然后再敲 npm run push。啊啊心好累。

用过 browser-sync cli 吗?反正为了图简便,我是经常用的。敲过最变态的是下面这一行:

browser-sync start --server --files "dist/*" --index "dist/index.html" --open "external" --reload-debounce --no-notify

.bat/.sh 的故事

敲过一次之后,发誓再也不这么玩了。索性在桌面保存了一个 bs.bat 文件,把上面的内容放进去。每次都从桌面 copy 到工作目录中去,双击完事。

后来玩 github 稍微勤了一些,commit、pull 的时候,命令行敲起来固然爽得不行,可是累啊。在上一家公司做 react-native 应用的时候,对 react-native run start cd android && ./gradlew assembleRelease 也是深恶痛绝。最后无不以 bat、sh文件收尾。

nshm 的由来

前些时间接触到一个管理 npm registry 的 package,叫 nrm,用起来真是爽。nrm use taobao nrm add xx url简单就能解决问题。这让我萌生一个想法:能不能不要每次都从桌面 copy 那些简单的脚本啊,来个简单的命令行自己把文件写目录不就 OK 了吗?

酝酿了一段时间。迟迟不肯动手。今天中午下楼抽烟,灵机一动,思路来了,花了半下午时间,边写边重构,最终做出来一个略嫌简陋但还能凑合用的工具,名之曰 “nshm”,取 “Node.js .sh scripts Manager” 的缩写。

使用起来很简单,看文档就行。

安装

$ npm install nshm -g
$ nshm <command> [args...]

添加一条自定义命令

$ nshm add <command_name> -[t|f] [text|path]
# add file content
$ nshm add commit --file ./my-commit.sh
# or
$ nshm add commit -f ./my-commit.sh
# add text content
$ nshm add pull --text "git pull"
# or
$ nshm add pull -t "git pull"

多个命令合并成一条命令

$ nshm co <command_name> [command|text] [command|text] [command|text] [...]
$ nshm co git commit pull "git status"

删除缓存的命令

$ nshm rm <command_name> <command_name> <...> 
$ nshm rm commit pull git

清除所有缓存的命令

$ nshm clean

列出现有的命令

# view all names
$ nshm ls
# view all details
$ nshm ls -a

Example 01

$ nshm add add -t "git add -A"
$ nshm add commit -t "git commit -m 'push'"
$ nshm add pull -t "git push"
$ nshm co git add commit pull
# init my directory
# then we'll get `add.sh` `commit.sh` `pull.sh`
$ nshm git

Example 02

# browserSync cli 
# here we use `${}` as placeholders
# for necessary params
$ nshm add bs -t "browser-sync start --server --files \"${files}\" --index \"${index}\" --open \"external\" --reload-debounce --no-notify"
# now we get the `bs.sh` file under our working directory
$ nshm bs --file '**' --index 'index.html'

结尾

工具默认自带了 Git 相关的 commit pull 及集成两者的 git 命令,还有上面提到的 browser-sync 的命令(简称作bs)。也可以使用 nshm add 的形式自己添加。

微不足道的工具,自娱自乐一下,虽然显得 low 了点,也能解决自己的一点问题。

以上就是node使用Git Bash作为命令行终端示例的详细内容,更多关于node命令行终端Git Bash的资料请关注脚本之家其它相关文章!

相关文章

  • nodejs 图片预览和上传的示例代码

    nodejs 图片预览和上传的示例代码

    本篇文章主要介绍了nodejs 图片预览和上传的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Nodejs Playwright 2Captcha 验证码识别实现自动登陆功能

    Nodejs Playwright 2Captcha 验证码识别实现自动登陆功能

    日常工作当中,为了提高工作效率,我们可能会写脚本来自动执行任务,有些网站因为需要用户登陆,所以脚本的自动登陆功能必不可少,这篇文章主要介绍了Nodejs Playwright 2Captcha 验证码识别实现自动登陆功能,需要的朋友可以参考下
    2024-05-05
  • node-sass安装失败的原因与解决方法

    node-sass安装失败的原因与解决方法

    这篇文章主要给大家介绍了关于node-sass安装失败的原因与解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • npm ERR! Node.js v20.11.0错误的解决

    npm ERR! Node.js v20.11.0错误的解决

    在使用 npm 进行包管理和构建项目的过程中,有时会遇到错误信息 npm ERR! Node.js v20.11.0,本文就来介绍一下如何解决,感兴趣的可以了解一下
    2024-02-02
  • export default 和 export 的使用方式示例详解

    export default 和 export 的使用方式示例详解

    这篇文章主要介绍了export default 和 export 的使用方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • NodeJS测试框架mocha入门教程

    NodeJS测试框架mocha入门教程

    本文给大家简单介绍了NodeJS里最常用的测试框架--mocha的安装以及简单的使用方法,支持直接在browser上跑Javascript代码测试,这里推荐给大家
    2017-03-03
  • 使用pkg打包Node.js应用的方法步骤

    使用pkg打包Node.js应用的方法步骤

    这篇文章主要介绍了使用pkg打包Node.js应用的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Node.js + Redis Sorted Set实现任务队列

    Node.js + Redis Sorted Set实现任务队列

    本文给大家分享的是使用Node.js + Redis Sorted Set实现任务队列的方法示例,非常的实用,有需要的小伙伴可以参考下
    2016-09-09
  • 在Nodejs中实现一个缓存系统的方法详解

    在Nodejs中实现一个缓存系统的方法详解

    在数据库查询遇到瓶颈时,我们通常可以采用缓存来提升查询速度,同时缓解数据库压力,在一些简单场景中,我们也可以自己实现一个缓存系统,避免使用额外的缓存中间件,这篇文章将带你一步步实现一个完善的缓存系统,需要的朋友可以参考下
    2024-03-03
  • Nest.js散列与加密实例详解

    Nest.js散列与加密实例详解

    这篇文章主要给大家介绍了关于Nest.js散列与加密的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论