文档章节

nodeJs 制作全局命令

明非_
 明非_
发布于 2015/07/28 10:00
字数 372
阅读 210
收藏 0

最近刚刚开始学习nodeJs,使用nodeJs可以做全局命令,比如说fis的命令。

研究了好久才知道,如何把nodejs做的组件做成全局命令

需要在package.json 文件里面添加一个 "bin" 属性, 内容可以是一个对象也可以是一个字符串

如果是对象的话:

{
	"XXX": "XXX",
	"XXX": "XXX",
	"XXX": "XXX",
	"bin": {
		"command": "./cli.js"
	}
}

如果是字符串的话:

{
	"XXX": "XXX",
	"XXX": "XXX",
	"XXX": "XXX",
	"bin": "./cli.js"
}

如果是对象的话,那个command 就是 将来执行命令的名字,比如说这里改成lookat 那么 以后就可以执行lookat,如果使用字符串的话,那么命令的名字和package里面设置的name属性一样。

生成全局命令应该注意,我们的nodejs文件第一行一定加一个声明

#!/usr/bin/env node

那么我们就开始生成全局的命令

平常测试的话,我们就用npm link,他会生成一个软链,这样我们全局就可以用了,然后我们也可以直接修改当前文件夹下文件进行测试

fanmingfeideMBP:testN fanmingfei$ npm link
/usr/local/bin/testn -> /usr/local/lib/node_modules/testn/cli.js
/usr/local/lib/node_modules/testn -> /Users/fanmingfei/testN

如果正式发布的话,我们需要先发布一个npm包,发布方法

http://blog.edire.info/nodejs_npm_publish/

发布以后我们本地执行 npm install -g <包名称> 就ok了

npm install -g testn

© 著作权归作者所有

共有 人打赏支持
明非_

明非_

粉丝 7
博文 18
码字总数 10823
作品 2
临沂
程序员
私信 提问
如何使用 npm 管理 NodeJS 包

前一段时间,我们发布了一个使用 pip 管理 Python 包的指南。今天,我们将讨论如何使用 npm 管理 NodeJS 包。npm 是最大的软件注册中心,包含 600,000 多个包。每天,世界各地的开发人员通过...

作者: Sk
2018/05/07
0
0
Centos7:安装node和npm & npm配置全局路径

Centos7:安装node和npm 通过安装包安装,可以使用 先下载安装包到 路径下 下载完成后解压 重命名为node 配置环境变量 在文件的最后添加 保存退出后执行更新命令 如果不生效,重启系统就可以 ...

重庆_杨静
02/28
0
0
nodejs在windows下的安装配置(使用NVM的方式)

nodejs 是什么? Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and ef......

绝地逢生
01/06
0
0
Node.js模块与npm包管理

一、Node.js模块对象的属性 在Node.js模块内部,模块对象具有以下的属性: module.id:属性值是当前模块的id,在默认情况下,主模块的ID属性值是“.”,其他模块的ID属性值为该模块文件的绝对...

同Young不同样
2018/08/10
0
0
安装webpack和webpack打包(此文转自Henery)

Henery博客地址为:http://blog.csdn.net/henery_002 写的很详细,可以做参考 最近要做项目优化了,尤其是前端这块,许多js需要模块化管理和相应的优化 1.输入如下地址,进入node.js官网,下载...

youcongtech
2018/02/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

生产者消费者问题(PV操作)

一、明确定义 要理解生产消费者问题,首先应弄清PV操作的含义:PV操作是由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减...

shzwork
18分钟前
0
0
重新认识网络通信协议

OSI网络分层 应用层 http, smtp,pop3这些都属于应用层协议 为用户的应用程序提供服务 表示层 确保一个系统的应用层发送的信息被另一个系统的应用层接收到 会话层 通过传输层建立数据传输的通...

最胖的瘦子
30分钟前
0
0
【转】分布式数据流的轻量级异步快照

本篇翻译自论文:Lightweight Asynchronous Snapshots for Distributed Dataflows,Flink的容错快照模型即来源于该论文。原文地址:https://arxiv.org/pdf/1506.08603.pdf 分布式数据流的轻量...

yiduwangkai
32分钟前
0
0
java使用反射机制设置私有成员变量的值

写一个方法:public void setProperty(Objectobj, String propertyName, Object value){}, 此方法可将obj对象中名为propertyName的属性的值设置为value。(这里不知道obj对象的propertyNam...

群星纪元
38分钟前
0
0
用 Tapestry 的方式在页面模板中加入注释

<span jwcid="$remove$">这里是注释</span>

LeoXu
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部