欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:npm 超詳細(xì)使用教程

柚子快報(bào)邀請(qǐng)碼778899分享:npm 超詳細(xì)使用教程

http://yzkb.51969.com/

文章目錄

一、簡(jiǎn)介二、npm安裝三、npm 的使用3.1 npm初始化項(xiàng)目3.2 安裝包3.3 安裝不同版本包3.4 避免系統(tǒng)權(quán)限3.5 更新包3.6 卸載包3.7 執(zhí)行腳本3.8 pre- 和 post- 腳本3.9 npm link3.10 發(fā)布和卸載發(fā)布的包3.11 使用npm版本控制3.22 npm資源

四、總結(jié)

一、簡(jiǎn)介

npm,全名 node package manger。 npm 是Node的開放式模塊登記和管理系統(tǒng),是Node.js包的標(biāo)準(zhǔn)發(fā)布平臺(tái),用于Node.js包的發(fā)布、傳播、依賴控制,網(wǎng)址:https://www.npmjs.com/ npm 提供了命令行工具,可以方便地下載、安裝、升級(jí)、刪除包,也可以讓你作為開發(fā)者發(fā)布并維護(hù)包。 在本文中,我們將深入探討npm的各個(gè)方面,從安裝到高級(jí)用法,幫助讀者從入門到精通npm的使用。

二、npm安裝

npm 在按照 Node.js 時(shí)會(huì)連帶被安裝。但有可能不是最新版本,需要 npm install npm@latest -g 升級(jí)到最新版本。 命令:

# 查看 npm 命令列表

$ npm help

# 查看各個(gè)命令的簡(jiǎn)單用法

$ npm -l

# 查看 npm 的版本

$ npm -v

# 查看 npm 的配置

$ npm config list -l

三、npm 的使用

3.1 npm初始化項(xiàng)目

npm init 初始化 package.json 文件,用來初始化生成package.json文件。在這個(gè)過程中會(huì)向用戶提問一系列問題,如果你覺得不用修改默認(rèn)配置,一路回車就可以了。 如果使用了-f(代表force)、-y(代表yes),則跳過提問階段,直接生成一個(gè)新的package.json文件。 npm set 設(shè)置環(huán)境變量:

$ npm set init-author-name 'Your name'

$ npm set init-author-email 'Your email'

$ npm set init-author-url 'http://****.com'

$ npm set init-license 'MIT'

上面命令等于為npm init設(shè)置了默認(rèn)值,以后執(zhí)行npm init的時(shí)候,package.json的作者姓名、郵件、主頁、許可證字段就會(huì)自動(dòng)寫入預(yù)設(shè)的值。這些信息會(huì)存放在用戶主目錄的~/.npmrc文件,使得用戶不用每個(gè)項(xiàng)目都輸入。如果某個(gè)項(xiàng)目有不同的設(shè)置,可以針對(duì)該項(xiàng)目運(yùn)行npm config。

$ npm set save-exact true

上面命令設(shè)置加入模塊時(shí),package.json將記錄模塊的確切版本,而不是一個(gè)可選的版本范圍。 npm config:

$ npm config set prefix $dir

上面的命令將指定的$dir目錄,設(shè)為模塊的全局安裝目錄。如果當(dāng)前有這個(gè)目錄的寫權(quán)限,那么運(yùn)行npm install的時(shí)候,就不再需要sudo命令授權(quán)了。

$ npm config set save-prefix ~

上面的命令使得npm install --save和npm install --save-dev安裝新模塊時(shí),允許的版本范圍從克拉符號(hào)(^)改成波浪號(hào)(~),即從允許小版本升級(jí),變成只允許補(bǔ)丁包的升級(jí)。

$ npm config set init.author.name $name

$ npm config set init.author.email $email

上面命令指定使用npm init時(shí),生成的package.json文件的字段默認(rèn)值。 npm info: npm info命令可以查看每個(gè)模塊的具體信息

$ npm info underscore

$ npm info underscore description

$ npm info underscore homepage

$ npm info underscore version

npm search: npm search命令用于搜索npm倉庫,它后面可以跟字符串,也可以跟正則表達(dá)式

$ npm search <搜索詞>

npm list npm list命令以樹型結(jié)構(gòu)列出當(dāng)前項(xiàng)目安裝的所有模塊,以及它們依賴的模塊。

npm list

npm list -global

npm list vue

加上global參數(shù),會(huì)列出全局安裝的模塊。

3.2 安裝包

Node模塊采用npm install命令安裝。

每個(gè)模塊可以“全局安裝”,也可以“本地安裝”?!叭职惭b”指的是將一個(gè)模塊安裝到系統(tǒng)目錄中,各個(gè)項(xiàng)目都可以調(diào)用。一般來說,全局安裝只適用于工具模塊,比如eslint和gulp。“本地安裝”指的是將一個(gè)模塊下載到當(dāng)前項(xiàng)目的node_modules子目錄,然后只有在項(xiàng)目目錄之中,才能調(diào)用這個(gè)模塊

本地安裝

$ npm install

全局安裝

$ sudo npm install -global

$ sudo npm install -g

也支持直接輸入Github代碼庫地址

$ npm install git://github.com/package/path.git

$ npm install git://github.com/package/path.git#0.1.0

強(qiáng)制重新安裝

$ npm install --force

如果你希望,所有模塊都要強(qiáng)制重新安裝,那就刪除node_modules目錄,重新執(zhí)行npm install

$ rm -rf node_modules

$ npm install

3.3 安裝不同版本包

install 命令總是安裝模塊的最新版本,如果要安裝模塊的特定版本,可以在模塊名后面加上@和版本號(hào)。

$ npm install sax@latest

$ npm install sax@0.1.1

$ npm install sax@">=0.1.0 <0.2.0"

# 如果使用--save-exact參數(shù),會(huì)在package.json文件指定安裝模塊的確切版本

$ npm install readable-stream --save --save-exact

$ npm install sax --save

$ npm install node-tap --save-dev

# 或者

$ npm install sax -S

$ npm install node-tap -D

# 如果要安裝beta版本的模塊,需要使用下面的命令

# 安裝最新的beta版

$ npm install @beta (latest beta)

# 安裝指定的beta版

$ npm install @1.3.1-beta.3

# npm install默認(rèn)會(huì)安裝dependencies字段和devDependencies字段中的所有模塊,如果使用--production參數(shù),可以只安裝dependencies字段的模塊

$ npm install --production

# 或者

$ NODE_ENV=production npm install

3.4 避免系統(tǒng)權(quán)限

默認(rèn)情況下,Npm全局模塊都安裝在系統(tǒng)目錄(比如/usr/local/lib/),普通用戶沒有寫入權(quán)限,需要用到sudo命令。這不是很方便,我們可以在沒有root權(quán)限的情況下,安裝全局模塊。 首先,在主目錄下新建配置文件.npmrc,然后在該文件中將prefix變量定義到主目錄下面。

prefix = /home/yourUsername/npm

然后在主目錄下新建npm子目錄

$ mkdir ~/npm

此后,全局安裝的模塊都會(huì)安裝在這個(gè)子目錄中,npm也會(huì)到~/npm/bin目錄去尋找命令。 最后,將這個(gè)路徑在.bash_profile文件(或.bashrc文件)中加入PATH變量。

export PATH=~/npm/bin:$PATH

3.5 更新包

npm update命令可以更新本地安裝的模塊

# 升級(jí)當(dāng)前項(xiàng)目的指定模塊

$ npm update [package name]

# 升級(jí)全局安裝的模塊

$ npm update -global [package name]

它會(huì)先到遠(yuǎn)程倉庫查詢最新版本,然后查詢本地版本。如果本地版本不存在,或者遠(yuǎn)程版本較新,就會(huì)安裝。 使用-S或–save參數(shù),可以在安裝的時(shí)候更新package.json里面模塊的版本號(hào)。 注意,從npm v2.6.1開始,npm update只更新頂層模塊,而不更新依賴的依賴,以前版本是遞歸更新的。如果想取到老版本的效果,要使用下面的命令。

$ npm --depth 9999 update

3.6 卸載包

npm uninstall命令,卸載已安裝的模塊

$ npm uninstall [package name]

# 卸載全局模塊

$ npm uninstall [package name] -global

3.7 執(zhí)行腳本

npm run npm 不僅可以用于模塊管理,還可以用于執(zhí)行腳本。package.json 文件有一個(gè) scripts 字段,可以用于指定腳本命令,供npm直接調(diào)用。 npm run 命令會(huì)自動(dòng)在環(huán)境變量 $PATH 添加 node_modules/.bin 目錄,所以 scripts 字段里面調(diào)用命令時(shí)不用加上路徑,這就避免了全局安裝 NPM 模塊。 npm run 如果不加任何參數(shù),直接運(yùn)行,會(huì)列出 package.json 里面所有可以執(zhí)行的腳本命令。 npm內(nèi)置了兩個(gè)命令簡(jiǎn)寫,npm test 等同于執(zhí)行 npm run test,npm start 等同于執(zhí)行 npm run start。

$ npm i eslint --save-dev

3.8 pre- 和 post- 腳本

npm run 為每條命令提供了 pre- 和 post- 兩個(gè)鉤子(hook)。以 npm run lint 為例,執(zhí)行這條命令之前,npm會(huì)先查看有沒有定義 prelint 和 postlint 兩個(gè)鉤子,如果有的話,就會(huì)先執(zhí)行 npm run prelint,然后執(zhí)行 npm run lint,最后執(zhí)行npm run postlint。

3.9 npm link

就是將當(dāng)前的目錄臨時(shí)的放到全局下。 開發(fā) NPM 模塊的時(shí)候,有時(shí)我們會(huì)希望,邊開發(fā)邊試用,比如本地調(diào)試的時(shí)候,require(‘myModule’) 會(huì)自動(dòng)加載本機(jī)開發(fā)中的模塊。Node規(guī)定,使用一個(gè)模塊時(shí),需要將其安裝到全局的或項(xiàng)目的 node_modules 目錄之中。對(duì)于開發(fā)中的模塊,解決方法就是在全局的 node_modules 目錄之中,生成一個(gè)符號(hào)鏈接,指向模塊的本地目錄。 npm link 就能起到這個(gè)作用,會(huì)自動(dòng)建立這個(gè)符號(hào)鏈接。 請(qǐng)?jiān)O(shè)想這樣一個(gè)場(chǎng)景,你開發(fā)了一個(gè)模塊 myModule,目錄為 src/myModule,你自己的項(xiàng)目 myProject 要用到這個(gè)模塊,項(xiàng)目目錄為 src/myProject。首先,在模塊目錄(src/myModule)下運(yùn)行 npm link 命令。

src/myModule$ npm link

上面的命令會(huì)在NPM的全局模塊目錄內(nèi),生成一個(gè)符號(hào)鏈接文件,該文件的名字就是 package.json 文件中指定的模塊名。

/path/to/global/node_modules/myModule -> src/myModule

這個(gè)時(shí)候,已經(jīng)可以全局調(diào)用 myModule 模塊了。但是,如果我們要讓這個(gè)模塊安裝在項(xiàng)目?jī)?nèi),還要進(jìn)行下面的步驟。 切換到項(xiàng)目目錄,再次運(yùn)行 npm link 命令,并指定模塊名。

src/myProject$ npm link myModule

上面命令等同于生成了本地模塊的符號(hào)鏈接。

src/myProject/node_modules/myModule -> /path/to/global/node_modules/myModule

然后,就可以在你的項(xiàng)目中,加載該模塊了。

var myModule = require('myModule');

這樣一來,myModule 的任何變化,都可以直接反映在 myProject 項(xiàng)目之中。但是,這樣也出現(xiàn)了風(fēng)險(xiǎn),任何在myProject目錄中對(duì)myModule的修改,都會(huì)反映到模塊的源碼中。 如果你的項(xiàng)目不再需要該模塊,可以在項(xiàng)目目錄內(nèi)使用 npm unlink 命令,刪除符號(hào)鏈接。

src/myProject$ npm unlink myModule

3.10 發(fā)布和卸載發(fā)布的包

npm publish用于將當(dāng)前模塊發(fā)布到http://npmjs.com。執(zhí)行之前,需要向http://npmjs.com申請(qǐng)用戶名。

# 需要向npmjs.com申請(qǐng)用戶名

$ npm adduser

# 登錄

$ npm login

# 發(fā)布

$ npm publish

# 如果當(dāng)前模塊是一個(gè)beta版,比如1.3.1-beta.3,那么發(fā)布的時(shí)候需要使用tag參數(shù),將其發(fā)布到指定標(biāo)簽,默認(rèn)的發(fā)布標(biāo)簽是latest

$ npm publish --tag beta

# 如果發(fā)布私有模塊,模塊初始化的時(shí)候,需要加上scope參數(shù)。只有npm的付費(fèi)用戶才能發(fā)布私有模塊。

$ npm init --scope=

# 如果你的模塊是用ES6寫的,那么發(fā)布的時(shí)候,最好轉(zhuǎn)成ES5。首先,需要安裝Babel。

$ npm install --save-dev babel-cli@6 babel-preset-es2015@6

然后,在package.json里面寫入build腳本。

"scripts": {

"build": "babel source --presets babel-preset-es2015 --out-dir distribution",

"prepublish": "npm run build"

}

運(yùn)行上面的腳本,會(huì)將 source 目錄里面的ES6源碼文件,轉(zhuǎn)為 distribution 目錄里面的 ES5 源碼文件。然后,在項(xiàng)目根目錄下面創(chuàng)建兩個(gè)文件 .npmignore 和 .gitignore,分別寫入以下內(nèi)容。

// .npmignore

source

// .gitignore

node_modules

distribution

npm deprecate

如果想廢棄某個(gè)版本的模塊,可以使用 npm deprecate 命令。

$ npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"

3.11 使用npm版本控制

npm內(nèi)置了版本控制功能,允許你通過簡(jiǎn)單的命令來更新項(xiàng)目的版本號(hào)。這有助于在發(fā)布新版本時(shí)跟蹤和管理項(xiàng)目的版本。 你可以使用以下命令來更新版本號(hào): npm version patch:將版本號(hào)中的補(bǔ)丁級(jí)別加1(例如,從1.0.0到1.0.1)。 npm version minor:將版本號(hào)中的次要級(jí)別加1,并將補(bǔ)丁級(jí)別重置為0(例如,從1.0.0到1.1.0)。 npm version major:將版本號(hào)中的主級(jí)別加1,并將次要級(jí)別和補(bǔ)丁級(jí)別重置為0(例如,從1.0.0到2.0.0)。 npm會(huì)自動(dòng)更新package.json中的版本號(hào),并提交一個(gè)新的git commit和tag。

3.22 npm資源

npm官網(wǎng):查找和發(fā)布npm包的平臺(tái)。 npm文檔:npm的官方文檔,包含各種命令和功能的詳細(xì)說明。 npm博客:了解npm的最新動(dòng)態(tài)、教程和最佳實(shí)踐

四、總結(jié)

npm是Node.js生態(tài)系統(tǒng)中不可或缺的一部分,它提供了強(qiáng)大的依賴管理和包發(fā)布功能。通過掌握npm的基礎(chǔ)用法和技巧,你可以更加高效地使用npm來加速項(xiàng)目的開發(fā)過程,并與其他開發(fā)者和工具進(jìn)行無縫集成。

柚子快報(bào)邀請(qǐng)碼778899分享:npm 超詳細(xì)使用教程

http://yzkb.51969.com/

推薦鏈接

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19367181.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄