欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Nodejs之npm&package.json

 更新時間:2017年06月15日 10:26:06   作者:楓s的思念  
本篇文章主要介紹了詳解Nodejs之npm&package.json,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一直以來,作為前端開發(fā),在公司都是先寫好頁面,然后再跟后端合作,將數(shù)據(jù)填入前端頁面中,但是偶爾自己閑來無事,也會看一些框架什么的,然后利用框架做個單頁面應(yīng)用啊,app什么的,這時候頁面的數(shù)據(jù)總是一些假數(shù)據(jù),而關(guān)于數(shù)據(jù)請求的部分就沒辦法做(因為沒有后臺嘛)。所以我感覺是時候?qū)W習(xí)一下node了,這對于我以后要學(xué)的webpack,前端工程化等也有一定幫助。
作為前端,因為經(jīng)常用到gulp,webpack等工具,所以我們最常見到的是npm和package.json,所以先總結(jié)一下它們倆。

npm

初始化

$ npm init
or
$ npm init --y 

在做前端開發(fā)的時候,我們經(jīng)常會用到構(gòu)建工具,例如gulp,webpack等,為了讓別人也可以參與進來,我們需要告訴別人項目有些什么依賴包,然后讓別人也安裝同樣的依賴包,而npm init產(chǎn)生的package.json就是用來記錄我們項目中的依賴的,同樣的,在做node開發(fā)的時候,也會用刀依賴包,同樣需要package.json記錄。

在終端輸入npm init會詢問package.json的各種信息,從而確認(rèn)。如果全部使用默認(rèn)值,可以直接在終端輸入npm init --y快速生成package.json。

安裝依賴包

$ npm install <package name> <package name> ...

$ npm install <package name> -g

$ npm install <package name> --save

$ npm install <package name> --save-dev

$ npm install <pacakage name> --O //--save-optional -B: --save-bundle -E: --save-exact

npm install <package name> -g 表示全局安裝,需要注意的是全局模式并不是將一個模塊安裝包安裝為一個全局包的意思,它并不意味著可以從任何地方通過require()來引用,-g的含義是將一個包安裝為全局可用的可執(zhí)行命令。這意味著,所有通過-g安裝的包都可以在終端以命令方式運行,例如gulp,webpack等。

--save--save-dev的區(qū)別在于前者是生產(chǎn)環(huán)境中項目運行需要的依賴,安裝后被記錄在package.json中的dependencies關(guān)鍵字下;而后者是開發(fā)時候需要的依賴,安裝后被記錄在devDependencies關(guān)鍵字下。

同樣--O/B/E分別會被記錄到對應(yīng)的關(guān)鍵字下。

更新依賴包

$ npm update

$ npm update -g

$ npm outdated

$ npm outdated -g

在項目目錄下運行npm update可以升級項目中所用依賴到最新版本,而npm update -g則可以升級全局安裝的依賴包到最新版。

npm outdated用于檢查模塊是否過時并列出。

卸載依賴

$ npm uninstall <package name> <package name> ...

$ npm uninstall <package name> -g

$ npm uninstall <package name> --save

$ npm uninstall <package name> --save-dev

使用npm uninstall可以卸載依賴,但是卸載后,在package.json中的紀(jì)錄并不會被刪除,要想在卸載依賴的同時刪除在package.json中的紀(jì)錄,需要在卸載的時候使用安裝時的所有的選項,例如,如果安裝時候使用了npm install <package name> --save則卸載的時候,同樣使用npm uninstall <pacakage name> --save,而如果使用了--save-dev,卸載時候也需要加相同的選項。

使用自定義npm命令

在package.json中,有一個scripts關(guān)鍵字,只需要在該關(guān)鍵字內(nèi)寫入自定義命令以及對應(yīng)執(zhí)行的實際命令即可。

"scripts":{
  "test": "nonde ./test.js",
  "dev": "gulp --gulpfile gulpfile-dev.js",
  "build": "gulp --gulpfile gulpfile-build.js"
}

上面的配置中,只要我們在終端運行npm dev就是運行了gulp --gulpfile gulpfile-dev.js,這樣就省去了我們在終端輸入很長的一段命令,非常方便。

其他

npm view <pacakage name>可以查看包的package.json文件,如果只是看包的某個特性,在后面加上相應(yīng)的key即可,例如npm v zepto version就是查看當(dāng)前安裝的zepto的版本,v是view的簡寫。

npm ls可以分析出當(dāng)前當(dāng)前項目下能夠通過模塊路徑找到的所有包,并生成依賴樹。

npm doc <package name>可以打開該依賴包的官網(wǎng),其實就是打開了package.json中的homepage。

package.json文件

在運行npm init后會生成package.json文件,該文件用于記錄項目中所用到的依賴以及項目的配置信息(比如名稱、版本、許可證等)。npm install命令根據(jù)這個配置文件自動下載項目運行和開發(fā)所需要的依賴。

一個比較完整的package.json文件如下:

{
  "name": "project",
  "version": "1.0.0",
  "author": "張三",
  "description": "第一個node.js程序",
  "keywords":["node.js","javascript"],
  "repository": {
    "type": "git",
    "url": "https://path/to/url"
  },
  "license":"MIT",
  "engines": {"node": "0.10.x"},
  "bugs":{"url":"http://path/to/bug","email":"bug@example.com"},
  "contributors":[{"name":"李四","email":"lisi@example.com"}],
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "express": "latest",
    "mongoose": "~3.8.3"
  },
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-concat": "~0.3.0"
  }
}

在package.json中一些關(guān)鍵字的含義:

1.name:包名

2.version:版本號

3.description:包的描述

4.homepage:包的官網(wǎng)url

5.autor:包的作者名字

6.contributors:包的其他貢獻者

7.dependencies:依賴包的列表,使用npm install可以安裝依賴包到node_medule目錄下

8.repository:包代碼存放的地方,可以是git或者svn

9.keywords:關(guān)鍵字

10.scripts:腳本說明對象。它主要被包管理器用來安裝、編譯、測試和卸載包,示例如下:

"scripts":{

  “install”:"install.js",

  "test":"test.js"

}

11.main:模塊引入方法require()在引入包時,會優(yōu)先檢查這個字段,并將其作為包中其余模塊的入口,如果該字段不存在,則node會檢查目錄下的index.js,index.node,index.json作為默認(rèn)入口。

12.devDependencies:一些模塊只在開發(fā)時需要依賴,配置這個屬性,可以提示包的后續(xù)開發(fā)者安裝依賴包

以上就是關(guān)于node中npm和package.json的總結(jié)。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux系統(tǒng)中如何下載、解壓和安裝特定版本的Node.js

    Linux系統(tǒng)中如何下載、解壓和安裝特定版本的Node.js

    Nodejs版本坑眾多,不同應(yīng)用可能需要不同版本,下面這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)中如何下載、解壓和安裝特定版本的Node.js的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 使用nvm管理不同版本的node與npm的方法

    使用nvm管理不同版本的node與npm的方法

    本篇文章主要介紹了使用 nvm 管理不同版本的 node 與 npm的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • node.js錯誤處理之npm無法下載第三方包

    node.js錯誤處理之npm無法下載第三方包

    這篇文章主要給大家介紹了關(guān)于node.js錯誤處理之npm無法下載第三方包的相關(guān)資料,文中通過代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • Node.js中.pfx后綴文件的處理方法

    Node.js中.pfx后綴文件的處理方法

    這篇文章主要介紹了Node.js中.pfx后綴文件的處理方法,文中介紹的很詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • 使用nodejs、Python寫的一個簡易HTTP靜態(tài)文件服務(wù)器

    使用nodejs、Python寫的一個簡易HTTP靜態(tài)文件服務(wù)器

    這篇文章主要介紹了使用nodejs、Python寫的一個簡易HTTP靜態(tài)文件服務(wù)器,分為nodejs和Python兩個版本,用類似淘寶的CSS、JS文件加載方式處理靜態(tài)文件加載,需要的朋友可以參考下
    2014-07-07
  • nodejs基礎(chǔ)知識

    nodejs基礎(chǔ)知識

    本文主要介紹了nodejs基礎(chǔ)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Nodejs進階:express+session實現(xiàn)簡易登錄身份認(rèn)證

    Nodejs進階:express+session實現(xiàn)簡易登錄身份認(rèn)證

    本篇文章主要介紹了Nodejs進階:express+session實現(xiàn)簡易身份認(rèn)證示例,非常具有實用價值,需要的朋友可以參考下
    2017-04-04
  • 使用Node.js構(gòu)建微服務(wù)的方法

    使用Node.js構(gòu)建微服務(wù)的方法

    這篇文章主要介紹了使用Node.js構(gòu)建微服務(wù),將介紹微服務(wù)架構(gòu)、優(yōu)勢以及如何使用Node.js開發(fā)微服務(wù),需要的朋友可以參考下
    2022-08-08
  • Node.js Mongodb 密碼特殊字符 @的解決方法

    Node.js Mongodb 密碼特殊字符 @的解決方法

    在去年的 DB 勒索事件之后, 不少的同學(xué)開始加強 Mongodb 的安全性, 其中一種辦法就是設(shè)置復(fù)雜的密碼. 那么如果設(shè)置的密碼里包含一些如 “@”, “:” 一樣的特殊字符,怎么處理呢?下面小編給大家?guī)砹薔ode.js Mongodb 密碼特殊字符 @的解決方法,一起學(xué)習(xí)吧
    2017-04-04
  • NodeJS制作爬蟲全過程

    NodeJS制作爬蟲全過程

    這篇文章主要介紹了NodeJS制作爬蟲的全過程,包括項目建立,目標(biāo)網(wǎng)站分析、使用superagent獲取源數(shù)據(jù)、使用cheerio解析、使用eventproxy來并發(fā)抓取每個主題的內(nèi)容等方面,有需要的小伙伴參考下吧。
    2014-12-12

最新評論