亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

詳解Nodejs之npm&package.json

2019-11-19 16:20:06
字體:
來源:轉載
供稿:網友

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

npm

初始化

$ npm initor$ npm init --y 

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

在終端輸入npm init會詢問package.json的各種信息,從而確認。如果全部使用默認值,可以直接在終端輸入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的含義是將一個包安裝為全局可用的可執行命令。這意味著,所有通過-g安裝的包都可以在終端以命令方式運行,例如gulp,webpack等。

--save--save-dev的區別在于前者是生產環境中項目運行需要的依賴,安裝后被記錄在package.json中的dependencies關鍵字下;而后者是開發時候需要的依賴,安裝后被記錄在devDependencies關鍵字下。

同樣--O/B/E分別會被記錄到對應的關鍵字下。

更新依賴包

$ 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中的紀錄并不會被刪除,要想在卸載依賴的同時刪除在package.json中的紀錄,需要在卸載的時候使用安裝時的所有的選項,例如,如果安裝時候使用了npm install <package name> --save則卸載的時候,同樣使用npm uninstall <pacakage name> --save,而如果使用了--save-dev,卸載時候也需要加相同的選項。

使用自定義npm命令

在package.json中,有一個scripts關鍵字,只需要在該關鍵字內寫入自定義命令以及對應執行的實際命令即可。

"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文件,如果只是看包的某個特性,在后面加上相應的key即可,例如npm v zepto version就是查看當前安裝的zepto的版本,v是view的簡寫。

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

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

package.json文件

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

一個比較完整的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中一些關鍵字的含義:

1.name:包名

2.version:版本號

3.description:包的描述

4.homepage:包的官網url

5.autor:包的作者名字

6.contributors:包的其他貢獻者

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

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

9.keywords:關鍵字

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

"scripts":{  “install”:"install.js",  "test":"test.js"}

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

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

以上就是關于node中npm和package.json的總結。希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲精品一区二区| 国产亚洲精品美女久久久久| 国产精品网站入口| 色综合伊人色综合网站| 亚洲国产黄色片| 精品福利免费观看| 久久久久久国产精品久久| 精品电影在线观看| 夜夜嗨av色综合久久久综合网| 国产精品丝袜一区二区三区| 国产精品中文字幕在线观看| 免费91麻豆精品国产自产在线观看| 红桃视频成人在线观看| 日韩中文字幕久久| 国产精品中文字幕在线观看| 九九九久久久久久| 免费不卡欧美自拍视频| 日韩av不卡电影| 久久久久一本一区二区青青蜜月| 国产美女精品免费电影| 福利一区福利二区微拍刺激| 国产一区欧美二区三区| 亚洲激情在线观看视频免费| 日韩国产在线播放| 97人洗澡人人免费公开视频碰碰碰| 亚洲国产成人精品久久久国产成人一区| 亚洲成色777777女色窝| 国产香蕉精品视频一区二区三区| 亚洲最大成人在线| 亚洲天堂第二页| 日韩欧美中文第一页| 91国语精品自产拍在线观看性色| 日韩中文理论片| 91精品视频在线免费观看| 欧美夫妻性生活xx| 91中文精品字幕在线视频| 久久久久这里只有精品| 日韩日本欧美亚洲| 亚洲欧美激情视频| 亚洲偷欧美偷国内偷| 久久99久久亚洲国产| 精品日韩中文字幕| 亚洲精品影视在线观看| 欧美性视频精品| 欧美理论片在线观看| 在线色欧美三级视频| 亚洲最大的免费| 久久久欧美一区二区| 国产精品免费视频久久久| 美女少妇精品视频| 2024亚洲男人天堂| 精品国产福利视频| 亚洲成人久久久| 欧美日本高清视频| 理论片在线不卡免费观看| 欧洲亚洲在线视频| 国产精品自拍小视频| 国内外成人免费激情在线视频| www.午夜精品| 日韩在线视频线视频免费网站| 亚洲女在线观看| 欧美做受高潮电影o| 欧美成人免费在线视频| 九九热这里只有精品6| 超碰91人人草人人干| 国产婷婷色综合av蜜臀av| 日韩精品中文在线观看| 欧美在线视频一二三| 欧美黑人性视频| 久久精品这里热有精品| 在线亚洲欧美视频| 亚洲网站在线看| 黑人巨大精品欧美一区免费视频| 视频在线观看一区二区| 久久国产精彩视频| 三级精品视频久久久久| 亚洲xxxxx性| 精品久久久久久久久久久| 国产精品久久久久久久久久久久久久| 国产精品久久久久久久久久久久久| 91最新国产视频| 国产精品高潮呻吟久久av无限| 日韩成人xxxx| 久久99久久久久久久噜噜| 久久久久国产精品免费| 国内免费久久久久久久久久久| 激情亚洲一区二区三区四区| 国产91免费观看| 日韩不卡中文字幕| 91久久精品日日躁夜夜躁国产| 中国人与牲禽动交精品| 国产综合视频在线观看| 97超级碰在线看视频免费在线看| 青青久久av北条麻妃黑人| 亚洲va久久久噜噜噜久久天堂| 欧美激情国产高清| 日韩欧美亚洲一二三区| 国产成人精品电影| 久久久www成人免费精品| 国产精品久久久久91| 亚洲欧洲午夜一线一品| 日韩av综合网站| 欧美刺激性大交免费视频| 欧美在线观看视频| 8x拔播拔播x8国产精品| 中文字幕亚洲欧美日韩2019| 久久福利视频导航| 欧美激情视频网| 精品国产一区二区三区久久狼5月| 狠狠色狠狠色综合日日小说| 欧美国产在线电影| 国产日韩欧美日韩| 91色视频在线观看| 日本一区二三区好的精华液| 中文欧美日本在线资源| 成人xxxx视频| 57pao国产成人免费| 亚洲精品www| 久久精品视频网站| 欧美电影电视剧在线观看| 国产精品久久一区主播| 超碰日本道色综合久久综合| 亚洲天堂av图片| 日韩一区二区在线视频| 欧美一二三视频| 久久精品夜夜夜夜夜久久| 国产日韩精品电影| 日韩精品视频三区| 欧美综合一区第一页| www日韩中文字幕在线看| 国产区亚洲区欧美区| 国内精品模特av私拍在线观看| 欧美激情亚洲综合一区| 色婷婷综合成人| 欧美丰满少妇xxxx| 亚洲一级片在线看| 国产精品一区二区三区免费视频| 色偷偷噜噜噜亚洲男人的天堂| 亚洲欧美日韩国产中文| 日韩欧美中文在线| 久久久最新网址| 亚洲bt欧美bt日本bt| 日韩美女视频免费在线观看| 国产大片精品免费永久看nba| 欧美大人香蕉在线| 中文字幕亚洲欧美一区二区三区| 久久精品在线播放| 日韩精品在线观看一区| 亚洲成人av片| 国产精品1区2区在线观看| 国产视频在线观看一区二区| 97视频免费在线看| 国产欧美日韩精品在线观看| 综合网日日天干夜夜久久| 国产精品久久久久久久久免费| 欧美麻豆久久久久久中文| 最近中文字幕mv在线一区二区三区四区| 国产一区二区三区在线免费观看| 欧美福利小视频| 国产+人+亚洲| 欧美黑人xxx| 在线日韩第一页| 精品久久久久久中文字幕| 狠狠色狠狠色综合日日小说|