使用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初学者应注意的七个细节小结
Jan 30 Javascript
纯js简单日历实现代码
Oct 05 Javascript
让angularjs支持浏览器自动填表
Nov 10 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 Javascript
javascript点击按钮实现隐藏显示切换效果
Feb 03 Javascript
获取JS中网页各种高宽与位置的方法总结
Jul 27 Javascript
vue.js+boostrap项目实践(案例详解)
Sep 21 Javascript
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
Vue中使用webpack别名的方法实例详解
Jun 19 Javascript
vue的keep-alive用法技巧
Aug 15 Javascript
浅谈webpack构建工具配置和常用插件总结
May 11 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中其实也可以用方法链
2011/11/10 PHP
基于empty函数的输出详解
2013/06/17 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
PHP定时任务延缓执行的实现
2014/10/08 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
限制文本框输入N个字符的js代码
2010/05/13 Javascript
js字符串转成JSON
2013/11/07 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
详解vuex之store源码简单解析
2019/06/13 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
TensorFlow saver指定变量的存取
2018/03/10 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
Python实现GIF图倒放
2020/07/16 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
根叔历年演讲稿
2014/05/20 职场文书
求职信范文大全
2014/05/26 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
2015年工会工作总结
2015/03/30 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电