使用npm發(fā)布Node.JS程序包教程
npm是Node.JS的程序包管理器。進(jìn)行Node.JS開(kāi)發(fā)時(shí),經(jīng)常使用它安裝/卸載程序包。實(shí)際上,發(fā)布程序包的工作也是由它來(lái)完成的。
配置package.json
要打包程序,首先要配好各項(xiàng)設(shè)置,這些設(shè)置都由程序包根目錄下的package.json指定。package.json的內(nèi)容必須是嚴(yán)格的JSON格式,也就是說(shuō):
1.字符串要用雙引號(hào)括起來(lái),而不能用單引號(hào);
2.屬性名一定要加雙引號(hào);
3.最后一個(gè)屬性后千萬(wàn)不要多加一個(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:依賴(lài)的程序包,可以指定版本號(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
如果沒(méi)有這一行,它將以系統(tǒng)默認(rèn)的方式打開(kāi),而不是在Node.JS的環(huán)境中運(yùn)行。
注冊(cè)npm帳號(hào)
要把程序包發(fā)布到npm,還需要先注冊(cè)一個(gè)帳號(hào)。npm并沒(méi)有提供網(wǎng)頁(yè)版的注冊(cè)向?qū)?。注?cè)也要通過(guò)命令行來(lái)進(jìn)行:
npm adduser
執(zhí)行此命令后,會(huì)依次出現(xiàn)輸入用戶(hù)名、Email、密碼的提示,輸入好之后等待一會(huì)兒就可以了。
發(fā)布程序包
準(zhǔn)備工作都做好了,執(zhí)行下面的命令就可以發(fā)布程序包:
npm publish <本地路徑>
如果要更新程序包,只要修改一下package.json中的版本號(hào),再重新執(zhí)行發(fā)布命令就可以了。
相關(guān)文章
express如何解決ajax跨域訪(fǎng)問(wèn)session失效問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于express如何解決ajax跨域訪(fǎng)問(wèn)session失效問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(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ù)問(wèn)題
本篇文章主要介紹了Nodejs中解決cluster模塊的多進(jìn)程如何共享數(shù)據(jù)問(wèn)題,有需要的可以了解一下。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)重啟的問(wèn)題
這篇文章主要介紹了nodejs?+?koa?+?typescript?集成和自動(dòng)重啟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
npm安裝依賴(lài)報(bào)錯(cuò)ERESOLVE?unable?to?resolve?dependency?tree的解決方
當(dāng)我們拿到一個(gè)前端項(xiàng)目的時(shí)候,想要把它運(yùn)行起來(lái),首先是要給它安裝依賴(lài),下面這篇文章主要給大家介紹了關(guān)于npm安裝依賴(lài)報(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
詳解nodejs如何實(shí)現(xiàn)查詢(xún)緩存
對(duì)于頻繁查詢(xún)、數(shù)據(jù)穩(wěn)定性高、讀取代價(jià)高的場(chǎng)景,查詢(xún)緩存可以發(fā)揮重要的作用,提高系統(tǒng)的性能和用戶(hù)體驗(yàn),下面我們就來(lái)學(xué)習(xí)一下nodejs是如何實(shí)現(xiàn)查詢(xún)緩存的2023-12-12

