angualr2
項(xiàng)目在本地正常運(yùn)行后,有個(gè)公共模塊部分我想抽離出來(lái)單獨(dú)發(fā)布到npm
上供項(xiàng)目使用,在網(wǎng)上找了些資料,沒(méi)想到發(fā)不到npm比maven也省事的多,本文重點(diǎn)記錄將自己的angualr2模塊發(fā)布到npm的主要步驟。
一、注冊(cè)賬號(hào)
在NPM網(wǎng)站注冊(cè)一個(gè)賬號(hào),這個(gè)賬號(hào)會(huì)被添加到npm本地的配置中,用來(lái)發(fā)布module用。
npm adduser
Username: your name
Password: your password
Email: xxx@gmail.com
二、登錄賬號(hào)
npm login
Username: fuzhutech
Password: fuzhutech
Email: (this IS public) fuzhutech@163.com
三、查看當(dāng)前用戶(hù)
npm whoami
四、初始化項(xiàng)目
npm init
執(zhí)行“npm init”可以根據(jù)提示生成簡(jiǎn)單的“package.json”,這個(gè)這個(gè)文件包含了module的所有信息,比如名稱(chēng)、版本、描述、依賴(lài)、作者、license等。
npm init
創(chuàng)建的“package.json
”文件只包含了基本的信息,我使用angualr-cli
命令創(chuàng)建項(xiàng)目,然后把“package.json
”作比對(duì),添加一些缺失的信息。
ng new ng2-fuzhutech-common
五、版本管理
npm社區(qū)版本號(hào),語(yǔ)義版本號(hào)分為X.Y.Z三位,即主版號(hào).次版號(hào).修訂號(hào)。當(dāng)代碼變更時(shí),版本遞增規(guī)則如下:
主版號(hào):當(dāng)你做了不相容的 API 修改,例如有大的變動(dòng),向下不兼容,需要更新X位;
次版號(hào):當(dāng)你做了向下相容的功能性新增,例如新增了功能,但是向下兼容,需要更新Y位;
修訂號(hào):當(dāng)你做了向下相容的問(wèn)題修正,例如只是修復(fù)bug,需要更新Z位;
先行版號(hào)及版本編譯資訊可以加到「主版號(hào).次版號(hào).修訂號(hào)」的后面,作為延伸。
六、發(fā)布模塊
npm publish
以上完成之后,我們終于可以發(fā)布自己的module了。
七、忽略文件
.npmignore
“.npmignore
”文件用來(lái)定義哪些文件會(huì)被 npm
給忽略,npm
默認(rèn)使用 gitignore
來(lái)忽略文件。存在 npmignore
的話(huà) gitignore
的配置就會(huì)被覆蓋。
八、安裝模塊
npm install --save ng2-fuzhutech-common
九、取消發(fā)布
npm unpublish <package>@<version>
已發(fā)布的版本號(hào)并不會(huì)被真正的取消,而是被占用,再次發(fā)布時(shí)需要更改新的版本號(hào),而且npm只能允許撤銷(xiāo)24小時(shí)以?xún)?nèi)的發(fā)布。