




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Node.js的npm包管理器基礎(chǔ)用法教程_ 格外是JavaScript領(lǐng)域中,基于NPM的網(wǎng)絡(luò)傳輸方式真的是越來越流行,包括React與Vue等很多JavaScript庫與框架都選擇用法npm進(jìn)行管理,這里就為大家送上Node.js的npm包管理器基礎(chǔ)用法教程,需要的伴侶可以參考下 配置 npm set npm set init-author-name Your name npm set init-author-email Your email npm set init-author-url npm set init-license MIT 上面指令等于為npm init設(shè)置了默認(rèn)值,以后執(zhí)
2、行npm init的時(shí)候,package.json的姓名、郵件、主頁、許可證字段就會自動寫入預(yù)設(shè)的值。這些信息會存放在用戶主名目的/.npmrc文件,使得用戶不用每個(gè)項(xiàng)目都輸入。 假如某個(gè)項(xiàng)目有不同的設(shè)置,可以針對該項(xiàng)目運(yùn)行npm config。 1. npm set save-exact true 上面指令設(shè)置加入模塊時(shí),package.json將記錄模塊的準(zhǔn)確版本,而不是一個(gè)可選的版本范圍。 2. npm config get prefix 3. npm config set prefix /usr/local npm用法 安裝: npm install grunt-cli 安裝之前,np
3、m install會先檢查,node_modules名目之中是否已經(jīng)存在指定模塊。假如存在,就不再重新安裝了,即使遠(yuǎn)程倉庫已經(jīng)有了一個(gè)新版本,也是如此。 假如你盼望,一個(gè)模塊不管是否安裝過,npm 都要強(qiáng)制重新安裝,可以用法-f或-force參數(shù)。 本地安裝: package會被下載到當(dāng)前所在名目,也只能在當(dāng)前名目下用法。安裝結(jié)束后,當(dāng)前名目下回多出一個(gè)node_modules名目,grunt-cli就安裝在里面。 npm install -g grunt-cli 全局安裝:package會被下載到到特定的系統(tǒng)名目下,安裝的package能夠在全部名目下用法?,F(xiàn)在變成了/usr/local/l
4、ib/node_modules/grunt-cli,/usr/local/lib/node_modules/也就是之前所說的全局安裝名目啦。 1.安裝當(dāng)前名目package.json文件中配置的devDependencies模塊 npm install 2.安裝本地的模塊文件 npm install ./package.tgz 3.安裝指定URL的模塊 npm install 4.安裝本地文件系統(tǒng)中指定的名目包含的模塊 npm install folder 5.安裝并更新package.json中的版本配置 npm install name save|save-dev|save-optiona
5、l (1)添加save 參數(shù)安裝的模塊的名字及其版本信息會消失在package.json的dependencies選項(xiàng)中 (2)添加save-dev 參數(shù)安裝的模塊的名字及其版本信息會消失在package.json的devDependencies選項(xiàng)中 (3)添加save-optional 參數(shù)安裝的模塊的名字及其版本信息會消失在package.json的optionalDependencies選項(xiàng)中 6.安裝模塊的指定版本 npm install nameversion Example: npm install underscore1.5.2 7.安裝模塊指定版本號范圍內(nèi)的某一個(gè)版本 npm
6、 install nameversion range Example: npm install async”=0.2.0 0.2.9 force強(qiáng)制拉取遠(yuǎn)程資源,即使本地已經(jīng)安裝這個(gè)模塊 Example: npm install underscore force 8.-g或global全局安裝模塊,假如沒有這個(gè)參數(shù),會安裝在當(dāng)前名目的node_modules子名目下 Example: npm install -g express 假如你盼望,全部模塊都要強(qiáng)制重新安裝,那就刪除node_modules名目,重新執(zhí)行npm install。 $ rm -rf node_modules $ npm
7、install 更新 npm update -g name name 更新指定name列表中的模塊。-g參數(shù)更新全局安裝的模塊。 假如沒有指定name,且不是在某個(gè)模塊內(nèi),會更新當(dāng)前名目依靠的全部包都會被更新(包括全局和模塊內(nèi));假如當(dāng)前名目在某個(gè)模塊名目內(nèi),會更新該模塊依靠的模塊,所以不指定name挺直運(yùn)行npm update時(shí),最好在某個(gè)模塊內(nèi)運(yùn)行,以免更新到其他不想更新的模塊。 卸載 npm uninstall package 查看 查看安裝了那些包 npm ls -depth=0 查看特定包具體信息 npm ls grunt-cli npm info grunt-cli 搜索 npm
8、search grunt-cli 發(fā)布 1.package.json package.json說明: npm指令運(yùn)行時(shí)會讀取當(dāng)前名目的 package.json 文件和說明這個(gè)文件,這個(gè)文件基于 Packages/1.1規(guī)范。在這個(gè)文件里你可以定義你的應(yīng)用名稱( name )、應(yīng)用描述( description )、關(guān)鍵字( keywords )、版本號( version )、應(yīng)用的配置項(xiàng)( config )、主頁( homepage )、( author )、資源倉庫地址( repository )、bug的提交地址( bugs ),授權(quán)方式( licenses )、名目( director
9、ies )、應(yīng)用入口文件( main )、指令行文件( bin )、應(yīng)用依靠模塊( dependencies )、開發(fā)環(huán)境依靠模塊( devDependencies )、運(yùn)行引擎( engines )和腳本( scripts )等。 對于開發(fā)者而言,開發(fā)和發(fā)布模塊都依靠于他對這個(gè)文件 package.json 所包含的意義的正確理解。我們下面用一個(gè)本文共用的例子來說明: name: test, version: 0.1.0, description: A testing package, author: A messed author messed, dependencies: express
10、: 1.x.x, ejs: 0.4.2, redis: = 0.6.7 , devDependencies: vows: 0.5.x , main: index, bin: test: ./bin/test.js , scripts: start: node server.js, test: vows test/*.js, preinstall: ./configure, install: make make install , engines: node: 0.4.x 這個(gè)例子里我們定義了應(yīng)用的入口文件( main )為 index ,當(dāng)其他應(yīng)用引用了我們的模塊 require(test)
11、時(shí),這個(gè) main 的值 index.js 文件被調(diào)用。腳本( scripts )用法hash 表定義了幾個(gè)不同的指令。script.start 里的定義的 node server.js 會在 npm start 時(shí)被調(diào)用,同樣的 npm test 調(diào)用時(shí)對應(yīng)的 scripts.test 里定義的指令被調(diào)用。在有些 native 模塊需要編譯的話,我們可以定義預(yù)編譯和編譯的指令。 本例中還定義了應(yīng)用依靠模塊( dependencies )和開發(fā)環(huán)境依靠模塊( devDependencies )。應(yīng)用依靠模塊會在安裝時(shí)安裝到當(dāng)前模塊的 node_modules 名目下。開發(fā)環(huán)境依靠模塊主要時(shí)在開
12、發(fā)環(huán)境中用到的依靠模塊,用指令 npm 的指令 install 或 link 加上參數(shù) dev 安裝到當(dāng)前模塊的 node_modules 名目下。 name: package的名字(由于他會成為url的一部分,所以 non-url-safe 的字母不會通過,也不允許消失.、_),最好先在(/上搜下你取的名字是否已經(jīng)存在) version: package的版本,當(dāng)package發(fā)生改變時(shí),version也應(yīng)當(dāng)跟著一起改變,同時(shí),你聲明的版本需要通過semver的校驗(yàn)(semver可自行谷歌) dependencies: package的應(yīng)用依靠
13、模塊,即別人要用法這個(gè)package,至少需要安裝哪些東東。應(yīng)用依靠模塊會安裝到當(dāng)前模塊的node_modules名目下。 devDependencies:package的開發(fā)依靠模塊,插件發(fā)布的時(shí)候自動刪除不相關(guān)代碼。用個(gè)文件記錄一下當(dāng)前項(xiàng)目中安裝或者需要的插件,即別人要在這個(gè)package上進(jìn)行開發(fā),可以一鍵安裝項(xiàng)目所需插件。 2.版本號 大家也留意到 package.json 里的版本號有些是 = 0.6.7 有些是 1.x.x,這有什么區(qū)分?npm 用法于語義化的版本識別來進(jìn)行版本管理。并不是全部的模塊都會供應(yīng)向后兼容性,有時(shí)候某些模塊由于某些緣由導(dǎo)致不向后兼容。所以我們需要定義一些規(guī)
14、章來保證模塊能夠在某些特定的版本中可用,并且保證能用最新的版本,由于那些版本總是修改了一些 bug 或提升了性能等。我們來看一下版本定義的字段: 例子:0.4.2 + 大版本(0) + 小版本(4) + 補(bǔ)丁版本(2) 一個(gè)軟件發(fā)布的時(shí)候,默認(rèn)就是 1.0.0 版。假如以后發(fā)布補(bǔ)丁,就增加最終一位數(shù)字,比如1.0.1;假如增加新功能,且不影響原有的功能,就增加中間的數(shù)字(即小版本號),比如1.1.0;假如引入的改變,破壞了向后兼容性,就增加第一位數(shù)字(即大版本號),比如2.0.0。 在上面 package.json 的定義里我們確信模塊在全部的 Nodejs 0.4及以上和0.5以下版本里都能運(yùn)行。依靠模塊 redis 在全
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淮陰師范學(xué)院《數(shù)據(jù)統(tǒng)計(jì)分析與spss應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 商丘學(xué)院《司法社會調(diào)查理論與方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南第一師范學(xué)院《世界近代史專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江育英職業(yè)技術(shù)學(xué)院《特殊兒童心理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 做賬實(shí)操-駕校教練人工成本的核算
- 2024-2025學(xué)年河南省名校大聯(lián)考高二上學(xué)期階段性測試(二)歷史試卷
- 大連工業(yè)大學(xué)《產(chǎn)品色彩設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 電子科技大學(xué)中山學(xué)院《建筑裝飾材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 洛陽理工學(xué)院《工商管理類專業(yè)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 渭南職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)網(wǎng)站開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 《黃色新聞的泛濫》課件
- 2024年山東省公務(wù)員考試《行測》真題及答案解析
- 化工原理Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024-2025學(xué)年初中體育與健康九年級全一冊人教版(2024)教學(xué)設(shè)計(jì)合集
- 環(huán)保產(chǎn)業(yè)政策及市場發(fā)展趨勢分析研究
- 2024年河南省高考對口升學(xué)語文英語試題
- 學(xué)習(xí)白求恩精神,做一個(gè)高尚的人一個(gè)純潔的人
- 《中醫(yī)藥學(xué)概論》期末考試復(fù)習(xí)題庫(含答案)
- 2024年秋季新外研版三年級上冊英語課件 Unit 1 第1課時(shí)(Get ready)
- 單位委托員工辦理水表業(yè)務(wù)委托書
- 2024版《保密法》培訓(xùn)課件
評論
0/150
提交評論