博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发布node模块到npm
阅读量:6240 次
发布时间:2019-06-22

本文共 2091 字,大约阅读时间需要 6 分钟。

npm(Node Package Manager)是Node.js的包管理工具。npm社区有很多好用的模块。在开发过程中,我们也会在项目中提炼出一些有用的功能模块。这个时候可以发布到npm并开源到github,方便别人使用同时又进一步根据issue完善和健壮模块的功能。
下面我就根据自己的一个模块来简单介绍发布 npm 模块的方法步骤以及一些注意点。

创建项目

通常我们的项目要放到github上开源,便于别的同学提issue。所以可以创建一个github项目(这里默认大家清楚如何使用github,不明请google)。另外,默认本机已经安装node和npm(不清楚请参考使用)。

项目结构

github创建项目的时候,勾选默认的 .gitignore、License 和 README 文件。本地通过npm init 来创建 package.json 文件,需要数据一些模块的信息,如名称、版本、描述、作者、license等。

$ npm init

另外,需要一些 eslint 文件等,具体的目录结构如下:

.├── .eslintrc.json   // eslint 文件├── .git├── .gitignore      // .gitignore├── .npmignore      // .npmignore 不需要publish的文件├── .travis.yml     // travis CI├── LICENSE├── README.md├── index.js       // 入口文件├── lib            // 主要逻辑代码├── node_modules├── package-lock.json├── package.json└── test          //测试用例

主要的逻辑代码放在lib目录下。不清楚的同学可以参考的目录结构。

测试

项目通常需要加入必要的单元测试。而且因为可能别的同学会用到,这一点尤为重要。

关于node的测试,大家根据自己的习惯会使用mocha、jest等。我个人偏向于使用ava来进行单元测试。不清楚如何使用ava测试的,可以。 关于更多测试结构,参考。
关于持续集成,在github上通常使用 比较多。travis使用起来也很简单方便。首先需要将你的github 账号和travis关联,travis就会同步你的github repository。然后,你需要打开对应项目的CI 开关。最后在项目中定义对应的.travis.yml即可在项目push的时候自动运行测试脚本。
更多关于travis的使用可以参考和.以下是我的.travis.yml 文件。

#指定运行环境language: node_js#指定nodejs版本,可以指定多个node_js:  - "7.6.0"before_script:  - npm install#运行的脚本命令script:  - npm run test#指定分支,只有指定的分支提交时才会运行脚本branches:  only:    - master

增加徽章

完成功能开发之后,最好在 README 中详细地介绍模块的使用说明。

另外,我们经常看到 github 项目有很多漂亮的badge, 例如下载量和 测试状况等。那如何添加这些徽章呢。可以参考 和 。

发布项目

项目完成之后,我们需要将模块发布到npmjs。通常我们需要先查找一下是否自己的模块已经被注册,并确定自己的模块名称。

首先,我们需要到npm官网 注册一个账号。然后添加到本地配置。

$ npm adduser    Username: dennis.gePassword: ****Email: gedennis@163.com

然后验证自己的配置。

npm whoami

最后,在package.json 定义好版本,通过 npm publish 发布模块即可。

npm publish

npm publish的时候经常会遇到发布不成功的状况。

npm WARN adduser Incorrect username or passwordnpm WARN adduser You can reset your account by visiting:npm WARN adduser npm WARN adduser     http://admin.npmjs.org/reset

这个时候通常可能是nvm安装的npm,或者你的 npm registry 不是npmjs,通过nrm修改npm源即可。

这里只是介绍了一些简单的发布步骤,关于更多版本定义以及升级,请。

至此,我们就成功发布了一个 npm 模块。

总结

这篇文章简单介绍了一下如何发布 npm 模块。包括如何创建项目,项目结构,测试,持续集成以及如何添加badge等一些内容。

关于发布npm 模块,需要进一步了解版本的定义,以及版本的升级等更深入的内容。

参考

[1]

[2]
[3]
[4]

转载地址:http://zhdia.baihongyu.com/

你可能感兴趣的文章
fluent-ffmpeg 常用函数
查看>>
Robot Framework(十五) 扩展RobotFramework框架——远程库接口
查看>>
Eclipse中没有javax.servlet和javax.servlet.http包的处理办法
查看>>
汽车加工厂
查看>>
localStorage 和 sessionStorage 的用法
查看>>
day23-python操作数据库三
查看>>
第二次冲刺——第3天
查看>>
SpringMVC+Hibernate+Junit4+json基本框架近乎0配置
查看>>
Pro Android学习笔记(一三七):Home Screen Widgets(3):配置Activity
查看>>
Hadoop学习笔记(九)HDFS架构分析
查看>>
DB2数据库常用基本操作命令
查看>>
RHEL5.8安装Sybase 15.7_x86_64
查看>>
函数适配器bind2nd 、mem_fun_ref 源码分析、函数适配器应用举例
查看>>
武汉科技大学ACM :1002: A+B for Input-Output Practice (II)
查看>>
extjs中form.reset(true)出现的bug修复
查看>>
Some Android functions
查看>>
ORB-SLAM2学习4 initializer.h
查看>>
正向代理和反向代理
查看>>
1092 回文字符串(LCSL_DP)
查看>>
day01-Python介绍,安装,idea
查看>>