乐趣区

发布angualr2模块到npm社区

angualr2项目在本地正常运行后,有个公共模块部分我想抽离出来单独发布到 npm 上供项目使用,在网上找了些资料,没想到发不到 npm 比 maven 也省事的多,本文重点记录将自己的 angualr2 模块发布到 npm 的主要步骤。

一、注册账号

在 NPM 网站注册一个账号,这个账号会被添加到 npm 本地的配置中,用来发布 module 用。

npm adduser
Username: your name
Password: your password
Email: xxx@gmail.com

二、登录账号

npm login
Username: fuzhutech
Password: fuzhutech
Email: (this IS public) fuzhutech@163.com

三、查看当前用户

npm whoami

四、初始化项目

npm init
执行“npm init”可以根据提示生成简单的“package.json”,这个这个文件包含了 module 的所有信息,比如名称、版本、描述、依赖、作者、license 等。

npm init创建的“package.json”文件只包含了基本的信息,我使用 angualr-cli 命令创建项目,然后把“package.json”作比对,添加一些缺失的信息。

ng new ng2-fuzhutech-common

五、版本管理

npm 社区版本号,语义版本号分为 X.Y.Z 三位,即主版号. 次版号. 修订号。当代码变更时,版本递增规则如下:

主版号:当你做了不相容的 API 修改,例如有大的变动,向下不兼容,需要更新 X 位;
次版号:当你做了向下相容的功能性新增,例如新增了功能,但是向下兼容,需要更新 Y 位;
修订号:当你做了向下相容的问题修正,例如只是修复 bug,需要更新 Z 位;
先行版号及版本编译资讯可以加到「主版号. 次版号. 修订号」的后面,作为延伸。

六、发布模块

npm publish

以上完成之后,我们终于可以发布自己的 module 了。

七、忽略文件

.npmignore

.npmignore”文件用来定义哪些文件会被 npm 给忽略,npm 默认使用 gitignore 来忽略文件。存在 npmignore 的话 gitignore 的配置就会被覆盖。

八、安装模块

npm install –save ng2-fuzhutech-common

九、取消发布

npm unpublish <package>@<version>

已发布的版本号并不会被真正的取消,而是被占用,再次发布时需要更改新的版本号,而且 npm 只能允许撤销 24 小时以内的发布。

退出移动版