使用npm發(fā)布Node.JS程序包教程
npm是Node.JS的程序包管理器。進(jìn)行Node.JS開發(fā)時(shí),經(jīng)常使用它安裝/卸載程序包。實(shí)際上,發(fā)布程序包的工作也是由它來完成的。
配置package.json
要打包程序,首先要配好各項(xiàng)設(shè)置,這些設(shè)置都由程序包根目錄下的package.json指定。package.json的內(nèi)容必須是嚴(yán)格的JSON格式,也就是說:
1.字符串要用雙引號(hào)括起來,而不能用單引號(hào);
2.屬性名一定要加雙引號(hào);
3.最后一個(gè)屬性后千萬不要多加一個(gè)逗號(hào)。
配置對(duì)象的屬性很多,具體可以參閱這里,這里列一下常用的項(xiàng)目:
1.name:程序包名,不能跟已有的程序包重復(fù)。
2.version:版本號(hào)。
3.description:一段簡(jiǎn)短的介紹。
4.author:作者信息。包含name、email、url三項(xiàng)屬性。
5.bin:如果程序中有可執(zhí)行文件(主要是命令行里面調(diào)用的),就在這里指定,可以指定多個(gè)。
6.main:使用require調(diào)用本程序包時(shí)的程序入口。
7.dependencies:依賴的程序包,可以指定版本號(hào)。
配置好package.json后,可以先在本地打包安裝一次,測(cè)試程序運(yùn)作是否正常,安裝命令為:
npm install <本地路徑>
另外,還有一條潛規(guī)則要注意,如果你希望程序包中的可執(zhí)行程序在Node.JS的環(huán)境中運(yùn)行,那么,請(qǐng)?jiān)诔绦蛉肟谖募淖钋懊婕由线@樣一行:
#!/usr/bin/env node
如果沒有這一行,它將以系統(tǒng)默認(rèn)的方式打開,而不是在Node.JS的環(huán)境中運(yùn)行。
注冊(cè)npm帳號(hào)
要把程序包發(fā)布到npm,還需要先注冊(cè)一個(gè)帳號(hào)。npm并沒有提供網(wǎng)頁(yè)版的注冊(cè)向?qū)?。注?cè)也要通過命令行來進(jìn)行:
npm adduser
執(zhí)行此命令后,會(huì)依次出現(xiàn)輸入用戶名、Email、密碼的提示,輸入好之后等待一會(huì)兒就可以了。
發(fā)布程序包
準(zhǔn)備工作都做好了,執(zhí)行下面的命令就可以發(fā)布程序包:
npm publish <本地路徑>
如果要更新程序包,只要修改一下package.json中的版本號(hào),再重新執(zhí)行發(fā)布命令就可以了。
相關(guān)文章
express如何解決ajax跨域訪問session失效問題詳解
這篇文章主要給大家介紹了關(guān)于express如何解決ajax跨域訪問session失效問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
詳解nodejs express下使用redis管理session
本篇文章主要介紹了詳解nodejs express下使用redis管理session ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04
Nodejs中解決cluster模塊的多進(jìn)程如何共享數(shù)據(jù)問題
本篇文章主要介紹了Nodejs中解決cluster模塊的多進(jìn)程如何共享數(shù)據(jù)問題,有需要的可以了解一下。2016-11-11
node省市區(qū)三級(jí)數(shù)據(jù)性能測(cè)評(píng)實(shí)例分析
這篇文章主要介紹了node省市區(qū)三級(jí)數(shù)據(jù)性能,結(jié)合具體實(shí)例形式評(píng)測(cè)分析了node省市區(qū)三級(jí)數(shù)據(jù)的實(shí)現(xiàn)、改進(jìn)方法與運(yùn)行效率,需要的朋友可以參考下2019-11-11
使用nodejs?+?koa?+?typescript?集成和自動(dòng)重啟的問題
這篇文章主要介紹了nodejs?+?koa?+?typescript?集成和自動(dòng)重啟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
npm安裝依賴報(bào)錯(cuò)ERESOLVE?unable?to?resolve?dependency?tree的解決方
當(dāng)我們拿到一個(gè)前端項(xiàng)目的時(shí)候,想要把它運(yùn)行起來,首先是要給它安裝依賴,下面這篇文章主要給大家介紹了關(guān)于npm安裝依賴報(bào)錯(cuò)ERESOLVE?unable?to?resolve?dependency?tree的解決方法,需要的朋友可以參考下2023-04-04
ChatGPT編程秀之最小元素的設(shè)計(jì)示例詳解
這篇文章主要為大家介紹了ChatGPT編程秀之最小元素的設(shè)計(jì)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
node?NPM庫(kù)glob通配符匹配文件名minimatch模式匹配字符串學(xué)習(xí)
這篇文章主要為大家介紹了node?NPM庫(kù)glob通配符匹配文件名minimatch模式匹配字符串學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07

