使用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 相关文章推荐
jQuery 入门讲解1
Apr 15 Javascript
JQuery 入门实例1
Jun 25 Javascript
autoIMG 基于jquery的图片自适应插件代码
Mar 12 Javascript
node.js中的fs.exists方法使用说明
Dec 17 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
angular route中使用resolve在uglify压缩后问题解决
Sep 21 Javascript
vue.js如何将echarts封装为组件一键使用详解
Oct 10 Javascript
js实现图片推拉门效果代码实例
May 18 Javascript
vue实现表单录入小案例
Sep 27 Javascript
js实现时分秒倒计时
Dec 03 Javascript
vue项目在线上服务器访问失败原因分析
Aug 14 Javascript
node中使用shell脚本的方法步骤
Mar 23 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php四种基础算法代码实例
2013/10/29 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
js document.write()使用介绍
2014/02/21 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
详解Python多线程Selenium跨浏览器测试
2017/04/01 Python
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
Python requests接口测试实现代码
2020/09/08 Python
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
承认错误的检讨书
2014/01/30 职场文书
大学军训感言300字
2014/03/09 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
政府采购方案
2014/06/12 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android