如何发布自己的NPM包(模块)?

1.注册NPM 账号


注册地址:https://www.npmjs.com/

2.初始化自己要发布的项目


搭建本地环境:安装node.js,包含了npm命令。

新建目录,在该目录下,初始化项目:npm init。

按照提示填写初始化信息,我的模块名称为:finitxu-npm-test,初始版本号:v1.0.0

模块名称需遵循相关政策要求:https://www.npmjs.com/policies,不能够与已有NPM模块名冲突等等。

模块代码 index.js:

function npmDemo(argument) {
	var name = 'finit';
	var f1 =function f(arg){console.log(arg)}
	return {
		name:name,
		f1:f1
	}
	
}
module.exports=npmDemo();

3.登录npm,发布自己的npm包


npm login

根据提示输入之前注册的账号、密码。

发布npm包:

npm publish

此时在自己个人的npm账号主页可以看到该包。

4.使用自己发布的包(模块)的示例代码


安装之前发布的npm包:

npm install finitxu-npm-test

新建其它目录,初始化:npm init

使用已发布NPM包的示例代码test.js:

var test_npm = require('finitxu-npm-test');
console.log(test_npm)
console.log(test_npm.f1(11));
console.log(test_npm.name)

运行示例代码:node test.js

输出:

{ name: 'finit', f1: [Function: f] }
11
undefined
finit

5.更新自己的NPM包(模块)及readme.md


修改代码和readme.md后,执行命令:

npm version patch
npm publish

npm version后面参数说明:

patch:小变动,比如修复bug等,版本号变动 v1.0.0->v1.0.1

minor:增加新功能,不影响现有功能,版本号变动 v1.0.0->v1.1.0

major:破坏模块对向后的兼容性,版本号变动 v1.0.0->v2.0.0

6.使用更新后的NPM包


更新NPM包:

针对patch: npm install finitxu-npm-test
针对minor: npm install finitxu-npm-test
针对major: npm install finitxu-npm-test@2.0.0

其它内容与步骤4相同。


微信公众号(技术很有趣),了解一下~

这里写图片描述

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ryan Miao

使用git提交中删除idea

https://segmentfault.com/q/1010000000720031 http://www.tuicool.com/articles/a6Nf...

6156
来自专栏拂晓风起

让tomcat跑起php(caucho quercus简单用法,tomcat运行php)

1193
来自专栏别先生

Java Web应用的开发环境配置

1:第一是下载好Eclipse开发工具,这里不做叙述,自行下载安装。 2:使用Eclipse开发WEB项目,启动Eclipse,选择File--->new --...

2496
来自专栏运维

怎样把ESXI5.0导出的OVF模板导入到ESXI4.X中

怎样把ESXI5.0导出的OVF模板导入到ESXI4.X中 1,用workstation8或9打开ovf虚拟机模板,即建立了虚拟机 2,右击相应虚拟机---...

2272
来自专栏Spring相关

动态加载布局的技巧

1.在res下面新建一个layout-large的文件夹,下面建一个activity_main.xml:

1124
来自专栏ml

cmd界面的编码如何改为utf8

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令...

3106
来自专栏有困难要上,没有困难创造困难也要上!

Python2.x设置命令执行的超时时间

3787
来自专栏BeJavaGod

FreeMarker静态模板结合spring展示

freemarker可以脱离web使用 前一篇文章使用了普通的方法 这回说说结合spring pom额外引入这个jar包 <groupId>org.spring...

2836
来自专栏运维小白

8.5 输入输出重定向

大于号,重定向 > 正确输出 >> 追加重定向 2> 错误重定向 2>> 错误追加重定向 >+2>等于&> 表示结合了正确和错误 cat 1.t...

1967
来自专栏码神联盟

IntelliJ系列 ④ | IDEA 之 Tomcat配置全过程

1.3K3

扫码关注云+社区

领取腾讯云代金券