使用npm发布Node.JS程序包教程


Posted in Javascript onMarch 02, 2015

npm是Node.JS的程序包管理器。进行Node.JS开发时,经常使用它安装/卸载程序包。实际上,发布程序包的工作也是由它来完成的。

配置package.json

要打包程序,首先要配好各项设置,这些设置都由程序包根目录下的package.json指定。package.json的内容必须是严格的JSON格式,也就是说:

1.字符串要用双引号括起来,而不能用单引号;
2.属性名一定要加双引号;
3.最后一个属性后千万不要多加一个逗号。

配置对象的属性很多,具体可以参阅这里,这里列一下常用的项目:

1.name:程序包名,不能跟已有的程序包重复。
2.version:版本号。
3.description:一段简短的介绍。
4.author:作者信息。包含name、email、url三项属性。
5.bin:如果程序中有可执行文件(主要是命令行里面调用的),就在这里指定,可以指定多个。
6.main:使用require调用本程序包时的程序入口。
7.dependencies:依赖的程序包,可以指定版本号。
配置好package.json后,可以先在本地打包安装一次,测试程序运作是否正常,安装命令为:

npm install <本地路径>

另外,还有一条潜规则要注意,如果你希望程序包中的可执行程序在Node.JS的环境中运行,那么,请在程序入口文件的最前面加上这样一行:
#!/usr/bin/env node

如果没有这一行,它将以系统默认的方式打开,而不是在Node.JS的环境中运行。

注册npm帐号

要把程序包发布到npm,还需要先注册一个帐号。npm并没有提供网页版的注册向导。注册也要通过命令行来进行:

npm adduser

执行此命令后,会依次出现输入用户名、Email、密码的提示,输入好之后等待一会儿就可以了。

发布程序包

准备工作都做好了,执行下面的命令就可以发布程序包:

npm publish <本地路径>

如果要更新程序包,只要修改一下package.json中的版本号,再重新执行发布命令就可以了。
Javascript 相关文章推荐
JavaScript 快捷键设置实现代码
Mar 13 Javascript
JavaScript Chart 插件整理
Jun 18 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
Feb 26 Javascript
jQuery 追加元素的方法如append、prepend、before
Jan 16 Javascript
jquery实现图片按比例缩放示例
Jul 01 Javascript
jquery实现鼠标滑过小图时显示大图的方法
Jan 14 Javascript
jquery中change()用法实例分析
Feb 06 Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
Aug 16 Javascript
Angular排序实例详解
Jun 28 Javascript
JavaScript中最常用的10种代码简写技巧总结
Jun 28 Javascript
Vue项目引进ElementUI组件的方法
Nov 11 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
May 10 Javascript
js实现点击链接后窗口缩小并居中的方法
Mar 02 #Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
Mar 02 #Javascript
Javascript动画的实现原理浅析
Mar 02 #Javascript
JavaScript页面模板库handlebars的简单用法
Mar 02 #Javascript
EasyUI中实现form表单提交的示例分享
Mar 01 #Javascript
EasyUI实现二级页面的内容勾选的方法
Mar 01 #Javascript
EasyUI实现第二层弹出框的方法
Mar 01 #Javascript
You might like
使用php重新实现PHP脚本引擎内置函数
2007/03/06 PHP
一个图形显示IP的PHP程序代码
2007/10/19 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
php适配器模式简单应用示例
2019/10/23 PHP
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
怎么清空javascript数组
2013/05/11 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
详解Python中with语句的用法
2015/04/15 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python 迭代器与生成器实例详解
2017/05/18 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
Python的历史与优缺点整理
2020/05/26 Python
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
给儿子的表扬信
2014/01/15 职场文书
大学总结自我鉴定
2014/01/18 职场文书
公司口号大全
2014/06/11 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
小时代观后感
2015/06/10 职场文书
Android studio 简单计算器的编写
2022/05/20 Java/Android