国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用NPM

wanghui / 835人閱讀

摘要:另一方面,這樣做也無法支持不同項目使用不同版本的。我們可以換一個源,即把服務器換到國內(nèi),例如淘寶的源運行下面的命令即可切換淘寶源的配置被存儲在,你可以隨時改。安裝方法使用方法切換源等見鏈接

Nodejs生態(tài)圈很強大,第一個原因就是NPM,因為全球有無數(shù)的程序員在NPM中貢獻了自己的力量。

為了避免造輪子,我們有時候會用到其他人的勞動成果,比如一些優(yōu)秀的框架,比如Express,我們直接使用NPM下載下來就可以用了,降低開發(fā)成本和時間。

安裝

安裝好nodejs后就安裝好了npm,這時系統(tǒng)自帶npm命令

如何使用

以為Express來舉例。
npm 的官網(wǎng)可以找到 npm 包。
https://www.npmjs.com/
例如搜索Express,就會告訴你安裝方法和使用方法:

安裝Express

新建一個文件夾,然后運行:
npm init初始化,一直按回車,它會自動生成package.json 文件,這個后面再說這個文件的作用。
然后
npm install express安裝

會出現(xiàn)node_modules文件夾

node_modules文件夾就是所有包安裝的位置。
express已經(jīng)安裝到了node_modules文件夾,其他的很多文件都是這個express依賴的包

package.json 文件

我們寫一個項目的時候可能會用到很多很多包,這些包可能是一些工具,也可能是框架。我們每使用一個包,就會把這些包下載下來,然后他會放到node_modules目錄中。
那么項目如果太大,哪些包安裝了哪些沒安裝,我們?nèi)绾沃滥兀坑袥]有一個機制來記住我們安裝的包呢?
有,nodejs提供了一個機制叫package.json
他是一個文件,他可以記住所有安裝的包的信息,包括名稱、版本信息。
如果我們遷移項目,我們就能夠知道安裝了什么包。因為node_modules目錄中文件比較大,而且不放在版本控制中(github等),也不是源碼的一部分,我們只要知道node_modules里安裝的一些包的名字就可以了,根本不需要這個目錄的內(nèi)容。

比如說現(xiàn)在一個同事得到了這一份代碼,那么這個node_modules目錄中的代碼他是不需要的。因為他只需要安裝過得這些包的名稱就可以了,到他自己的電腦上再安裝就可以了。

package.json就是記錄所有安裝的包的信息的文件。

生成方法

運行npm init初始化一個項目。
他會讓你回答一些關于這個項目的信息,一直按回車,因為這些信息后面可以改,最開始使用默認的就好。

然后就會生成一個package.json的文件。

舉例:嘗試安裝Express并查看package.json

npm install --save express

安裝之后出現(xiàn)很多包,這些都是express依賴的包。

"dependencies"

安裝后出dependencies字段會出現(xiàn)安裝的包的詳細信息,包括包的名稱和版本號。
"dependencies"中文是依賴的意思。

"devDependencies"

devDependencies是開發(fā)環(huán)境依賴的意思。例如我們用下面的命令行安裝gulp
npm install --save-dev gulp

開發(fā)環(huán)境的包會記錄在這里
使用--save-dev就是開發(fā)環(huán)境依賴的一些包,會記錄到devDependencies

"scripts"中的"start"

在"scripts"里加入一行"start": "node app.js",

"scripts": {
    "test": "echo "Error: no test specified" && exit 1",
    "start": "node app.js"
  },

那么如果我們運行npm run start

就會運行"start"里面的命令。

作用:別人下載你的代碼之后可能不知道怎么運行你的項目,那么你把這些命令寫在start里,那么項目入口文件之類的就一目了然。

使用package.json 命令:npm install

package.json記錄了安裝包的所有安裝信息,那么別人得到這些信息如何把這些包安裝下來呢(安裝到他的本地
使用命令npm install就可以了,比如我們現(xiàn)在刪掉node_modules,然后再運行npm install
他就會重新安裝

"dependencies": {
    "express": "^4.16.4"
  },
  "devDependencies": {
    "gulp": "^3.9.1"
  }

這兩個依賴中的包

全局安裝與局部安裝的區(qū)別 全局安裝

比如我們安裝webpack
npm install -g webpack
-g 意思是Global,全局的意思,他會把webpack作為一個命令,一個可執(zhí)行文件,安裝到我們的系統(tǒng)中,以后我們就可以使用這個命令了

局部安裝

局部安裝只安裝到這個項目當前的文件夾中,如果想使用webpack命令,就要運行使用當前項目下的文件,才能運行webpack
node_modules/.bin/webpack

Babel舉例說明

用Babel舉例說明全局安裝與局部安裝的區(qū)別:

命令行轉(zhuǎn)碼babel-cli————阮一峰的es6教程

上面代碼是在全局環(huán)境下,進行 Babel 轉(zhuǎn)碼。這意味著,如果項目要運行,全局環(huán)境必須有Babel,也就是說項目產(chǎn)生了對環(huán)境的依賴。另一方面,這樣做也無法支持不同項目使用不同版本的 Babel

一個解決辦法是將babel-cli安裝在項目之中。

總結(jié):全局安裝的話你的項目不容易更新,因為不同項目使用的babel的版本可能不同,而且你和你團隊使用的babel的版本也可能不同。所以要把babel直接安裝在項目中。這樣其他人拿到項目再安裝項目內(nèi)的babel,就不會出現(xiàn)版本不兼容問題了。

http-server舉例說明

再比如我們安裝http-server
npm install -g http-server


安裝在了這個目錄下新增的一個文件,叫做http-server

npm install -g的時候安裝在全局目錄下,npm install不帶-g的時候安裝在當前目錄下,如圖

如果是全局安裝,那么直接就可以用了,因為Mac中 /usr/local/bin 是包含在path里面的。

如果我直接在命令行里輸入http-server,那么會訪問到/usr/local/bin這個路徑里的http-server文件

如果只安裝在了局部的項目里,想用的話就去當前目錄下去找http-server這個文件,一樣可以用:


命令行的實質(zhì)就是一個文件而已!全局命令就是裝在環(huán)境里的文件!局部命令就是放在一個目錄里,用的時候需要執(zhí)行局部文件

切換淘寶源

注意:在國內(nèi)安裝這些包的時候有時候會很慢,因為這些包的服務器在國外。我們可以換一個源,即把服務器換到國內(nèi),例如淘寶的源

運行下面的命令即可切換淘寶源

npm config set registry https://registry.npm.taobao.org/
npm config set loglevel http
npm config set progress false

npm 的配置被存儲在 ~/.npmrc,你可以隨時改。

這是官方網(wǎng)站
https://npm.taobao.org/

安裝node-sass的正確姿勢

安裝node-sass的正確姿勢

從 npm 到全面擁抱 yarn

從 npm 到全面擁抱 yarn

個人覺得 yarn 有以下好處:

超快的下載速度。

離線下載,如果你懂 ruby,這個有點像 bundle,就是之前下載過一次,這個包就會放到電腦上的一個地方,下次別的項目要使用同一個包的時候就不用下載了,而是做一個鏈接,這樣速度超級快,這一點很重要,npm 飽受詬病的一點就是,每次安裝依賴,都需要從網(wǎng)絡下載一大堆東西,而且是全部重新下載。工程多的時候比較煩人。這下子可以節(jié)約大量時間了。

擁有 lockfile 文件,在 yarn 中叫 yarn.lock,這個在新版的 npm 也有這個功能,它的文件名叫 package-lock.json,這個文件會記錄每次安裝的包的版本的精確信息,這樣,每次運行 yarn install 就會得到一模一樣的依賴環(huán)境,而不是會出現(xiàn)個別包的版本不同,從而引發(fā)環(huán)境問題導致項目運行情況不同的尷尬事件。

安裝方法、使用方法、切換源等見鏈接

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/98644.html

相關文章

  • NPM簡單入門

    摘要:使用淘寶鏡像大家都知道國內(nèi)直接使用的官方鏡像是非常慢的,這里推薦使用淘寶鏡像。淘寶鏡像是一個完整鏡像,你可以用此代替官方版本只讀,同步頻率目前為分鐘一次以保證盡量與官方服務同步。 npm 使用介紹 NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種: 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。 允許用戶從NPM...

    ckllj 評論0 收藏0
  • 你可能不知道的 npm 實用技巧

    摘要:但這并不意味著依賴版本是鎖死的。黃色表示不符合指定的語義化版本范圍,比如大版本升級,升級可能會遇到兼容性問題。文件可以列出不想打包的文件,避免把一些無關的文件發(fā)布到上。 作者: LeanCloud weakish 分享一些 npm 包管理工具的實用小竅門,希望能夠略微提高下前端、Node.js 開發(fā)者的生活質(zhì)量。 絕大多數(shù)前端和 Node.js 開發(fā)者每天的日常工作都離不開 npm,不...

    NickZhou 評論0 收藏0
  • 構建自己的npm包 簡單實現(xiàn)

    摘要:使用介紹是隨同一起安裝的包管理工具,能解決代碼部署上的很多問題,常見的使用場景有以下幾種允許用戶從服務器下載別人編寫的第三方包到本地使用。允許用戶將自己編寫的包或命令行程序上傳到服務器供別人使用。 NPM 使用介紹 NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種: 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。...

    frontoldman 評論0 收藏0
  • 一篇 NPM 常見問題小記

    摘要:常見問題的中的和會匹配最近的小版本依賴包,比如會匹配所有版本,但是不包括會匹配最新的大版本依賴包,比如會匹配所有的包,包括,但是不包括你也有可能會看見在中模塊的版本號前面既沒有也沒有就像下面那樣上面的情況屬于精確安裝模塊指定的版本號。 常見問題 1.npm 的package.json中的~和^ ~會匹配最近的小版本依賴包,比如~1.2.3會匹配所有1.2.x版本,但是不包括1.3.0...

    lvzishen 評論0 收藏0
  • 2018 年了,你還是只會 npm install 嗎

    摘要:無需手動拷貝文件或者創(chuàng)建軟鏈接到目錄,有更優(yōu)雅的解決方案。這是因為識別協(xié)議的,得知這個包需要直接從文件系統(tǒng)中獲取,會自動創(chuàng)建軟鏈接到中,完成安裝過程。 nodejs 社區(qū)乃至 Web 前端工程化領域發(fā)展到今天,作為 node 自帶的包管理工具的 npm 已經(jīng)成為每個前端開發(fā)者必備的工具。但是現(xiàn)實狀況是,我們很多人對這個nodejs基礎設施的使用和了解還停留在: 會用 npm insta...

    libxd 評論0 收藏0
  • 前端核心工具:yarn、npm、cnpm三者如何優(yōu)雅的在一起使用

    摘要:由于文件中版本號的特點,下面三個版本號在安裝的時候代表不同的含義。安裝版本統(tǒng)一為了防止拉取到不同的版本,有一個鎖定文件記錄了被確切安裝上的模塊的版本號。 showImg(https://segmentfault.com/img/bVbs8Rg?w=1920&h=1080); 一位用不好包管理器的前端,是一個入門級前端,一個用不好webpack的前端,是一個初級前端 三個包管理器是可以一...

    sihai 評論0 收藏0

發(fā)表評論

0條評論

wanghui

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<