使用npm和node开发命令行工具并使用npm管理你的包

npm的全称是node package manager : node 包管理器,提供一个registry,你只要注册一个npm账号,就可是使用npm进行包管理了,比如发布,安装,更新…等等。

使用npm进行包管理

一种是使用npm官方,即 https://www.npmjs.com/ ,注册你自己的账号然后进行管理,但是如果不使用私有包的话,你的代码是暴露的,如果是企业内部的私有包,不想对外暴露,避免潜在的风险,那么就必须使用私有包管理,不过,是要交保护费的,虽然也不多,如果你连保护费都不想交的话,那么也有办法,搭建私有npm服务,国内比如 cnpm ,或者使用npm官方提供的 On-Site ,都可以搭建企业内部的私有npm服务,但是我可以在这里给大家提个醒,如果你真的要自己搭建私有npm服务,那么你准备好接受各种折磨,让我偷乐一会儿……

1、注册npm账号

  • 填写你的信息注册账号,然后会给你发一封激活邮件,激活你的账号就ok了,就是一个普通的不能再普通的注册流程了:
    有了账号,就可以登录,注意,我说的是在终端登录,不是在网站登录,打开你的终端,执行命令:
npm login

输入刚才注册的用户名密码已经邮箱
如果一切正常,那么不会有任何提示信息,说明你登录成功了。
- 我们可以把我们的包,通过npm推送到远程,进行管理,执行:

npm publish

这条命令的意思是发布我们的包,注意编辑你的package.json文件,找到name字段,修改一个独一无二的名字,然后再发布,就可以成功了。

  • 发布成功后,在npm官网登陆你的账号,你是可以看到你自己的包的;
    发布了包之后,你就可以像安装其他第三方包一下来安装你的包了:
npm install <you package name>
  • 如果你的本地包有更新,需要再次发布的话,直接执行 npm publish 是不可以的,你还要更新一下包的版本号,然后再执行发布命令才行,也就是修改一下package.json文件的 version 字段,不过,不需要手动修改,执行:
npm version <update_type>
update_type 可以取三个值:major minor patch

我们知道,版本号的格式是这样的 1.0.0
其中 1 是主要版本,只有重大的更新才会修改它的值(major),第二个位置是次要的(minor),第三个位置是补丁(patch),根据包修改的程度来定你要修改那个位置的数字,为了测试,我们就执行如下命令:

npm version patch

我们看到,版本由原来的 1.0.0 变成了 1.0.1。这时,我们就可以执行 npm publish 命令更新我们的包了。
上面描述了最基本的管理命令,npm远不止这些,官方文档写的很详细: npm

如果使用npm和node开发命令行工具

什么是命令行工具?最通俗的解释就是,敲一串字符,命令行能够识别,并做一些事。比如 ls 查看文件, cd 切换目录等等,都是命令行工具,及可执行的文件。

其实用npm和node开发命令行工具特别简单,我们还继续使用上面的例子。

第一步:编写一个nodejs文件

名字你随便起,这里我们就叫 test.js,在package.json的同级目录新建一个test.js文件,并编辑如下内容:

! /usr/bin/env node

console.log('test command line!');

注意,第一行的 #! /usr/bin/env node 不可以省略,这是告诉机器,这个文件要在node环境下运行,当我们直接执行这个文件的时候,相当于使用node去执行它,即:

./test.js
相当于
node ./test.js

第二步:在package.json文件中添加bin字段

“bin”: {
“hcy-cmd”: “./test.js”
}
bin字段是一个json对象,键是命令的名称,即我们可以在终端执行的命令名称,值是该命令对应的可执行文件,在我们这个例子中,就是当前目录下的 test.js 文件,其中,命令的名称你自己随便定义。

致此,我们还没有结束,如果现在就在终端敲 hcy-cmd 的话,是不行的,还需要最后一步。

第三部:连接到全局

如何连接到全局,很简单,只需一条命令,执行:

npm link

这时就可以在终端敲入我们自定义的命令:

hcy-cmd

这样,我们就可以发挥我们的创造力,利用它做一些有趣的事情,快去实现你的想象吧,另外推荐两个库,配合它们,我们可以开发出很强大的命令行工具:

shelljs - 强大的执行unix系统命令的npm包

yargs - 命令行参数的处理

原文-使用npm和node开发命令行工具并使用npm管理你的包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值