成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

Nodejs之npm&package.json

atinosun / 994人閱讀

摘要:在終端輸入會(huì)詢(xún)問(wèn)的各種信息,從而確認(rèn)。這意味著,所有通過(guò)安裝的包都可以在終端以命令方式運(yùn)行,例如,等。用于檢查模塊是否過(guò)時(shí)并列出。文件在運(yùn)行后會(huì)生成文件,該文件用于記錄項(xiàng)目中所用到的依賴(lài)以及項(xiàng)目的配置信息比如名稱(chēng)版本許可證等。

一直以來(lái),作為前端開(kāi)發(fā),在公司都是先寫(xiě)好頁(yè)面,然后再跟后端合作,將數(shù)據(jù)填入前端頁(yè)面中,但是偶爾自己閑來(lái)無(wú)事,也會(huì)看一些框架什么的,然后利用框架做個(gè)單頁(yè)面應(yīng)用啊,app什么的,這時(shí)候頁(yè)面的數(shù)據(jù)總是一些假數(shù)據(jù),而關(guān)于數(shù)據(jù)請(qǐng)求的部分就沒(méi)辦法做(因?yàn)闆](méi)有后臺(tái)嘛)。所以我感覺(jué)是時(shí)候?qū)W習(xí)一下node了,這對(duì)于我以后要學(xué)的webpack,前端工程化等也有一定幫助。

如何開(kāi)始學(xué)習(xí)node

首先介紹幾個(gè)我入門(mén)的教程:

七天學(xué)會(huì)nodejs:https://nqdeng.github.io/7-days-nodejs/

菜鳥(niǎo)教程-nodejs教程:http://www.runoob.com/nodejs/nodejs-tutorial.html

這兩個(gè)教程相對(duì)比較簡(jiǎn)單,所以看完這兩個(gè)教程后,對(duì)nodejs就會(huì)也只會(huì)有一個(gè)大致的了解

然后可以看看止水大神的node教程(需梯子還在更新中...)

node.js高級(jí)編程:https://www.youtube.com/watch?v=5YpYvrvVJ6Y&list=PLsdWTv8SAAr7_ufM68jgykoOc5WvK97kb

當(dāng)初我問(wèn)很多人如何開(kāi)始學(xué)習(xí)nodejs,很多人推薦樸靈的《深入淺出Node.js》,不過(guò)說(shuō)實(shí)話,這本書(shū)并不適合入門(mén)看,難度還是有的,因?yàn)檫@本書(shū)會(huì)講到node的很多原理,比較細(xì),所以個(gè)人覺(jué)得可以配合著看。因?yàn)槟壳拔易约阂苍诿髦鴮W(xué)習(xí),所以關(guān)于學(xué)習(xí)node先說(shuō)到這里。

作為前端,因?yàn)榻?jīng)常用到gulp,webpack等工具,所以我們最常見(jiàn)到的是npm和package.json,所以先總結(jié)一下它們倆。

npm 初始化
$ npm init
or
$ npm init --y 

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

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

安裝依賴(lài)包
$ npm install   ...

$ npm install  -g

$ npm install  --save

$ npm install  --save-dev

$ npm install   --O //--save-optional  -B: --save-bundle  -E: --save-exact

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

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

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

更新依賴(lài)包
$ npm update

$ npm update  -g

$ npm outdated

$ npm outdated -g

在項(xiàng)目目錄下運(yùn)行npm update可以升級(jí)項(xiàng)目中所用依賴(lài)到最新版本,而npm update -g則可以升級(jí)全局安裝的依賴(lài)包到最新版。

npm outdated用于檢查模塊是否過(guò)時(shí)并列出。

卸載依賴(lài)
$ npm uninstall   ...

$ npm uninstall  -g

$ npm uninstall  --save

$ npm uninstall  --save-dev

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

使用自定義npm命令

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

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

上面的配置中,只要我們?cè)诮K端運(yùn)行npm dev就是運(yùn)行了gulp --gulpfile gulpfile-dev.js,這樣就省去了我們?cè)诮K端輸入很長(zhǎng)的一段命令,非常方便。

其他

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

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

npm doc 可以打開(kāi)該依賴(lài)包的官網(wǎng),其實(shí)就是打開(kāi)了package.json中的homepage。

package.json文件

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

一個(gè)比較完整的package.json文件如下:

{
    "name": "project",
    "version": "1.0.0",
    "author": "張三",
    "description": "第一個(gè)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:版本號(hào)

3.description:包的描述

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

5.autor:包的作者名字

6.contributors:包的其他貢獻(xiàn)者

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

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

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

10.scripts:腳本說(shuō)明對(duì)象。它主要被包管理器用來(lái)安裝、編譯、測(cè)試和卸載包,示例如下:

"scripts":{

    “install”:"install.js",

    "test":"test.js"

}

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

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

以上就是關(guān)于node中npm和package.json的總結(jié)。最后在寫(xiě)本文的時(shí)候發(fā)現(xiàn)阮一峰老師的一個(gè)關(guān)于js的教程JavaScript 標(biāo)準(zhǔn)參考教程,應(yīng)該是阮一峰老師最新的關(guān)于js的教程,里面有關(guān)于node的講解,可以看看。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/81074.html

相關(guān)文章

  • 前端構(gòu)建工具(2) -- npm&yarn

    摘要:如果使用了代表代表,則跳過(guò)提問(wèn)階段,直接生成一個(gè)新的文件。 前言 簡(jiǎn)介:node的包管理器,它隨nodejs一起安裝,即你安裝了nodejs就可以用npm進(jìn)行包管理,通過(guò)npm可以從npm服務(wù)器下載別人上傳的第三方庫(kù),下載并安裝別人上傳的命令行程序,上傳自己寫(xiě)的第三方庫(kù)和命令行程序可用npm -v查看npm版本號(hào)確定npm是否可用,如果npm版本過(guò)低,可以使用npm -install ...

    zhangke3016 評(píng)論0 收藏0
  • NodeJS打造多人在線聊天室(NodeJS & SocketIO & Expre

    摘要:技術(shù)棧項(xiàng)目背景這個(gè)項(xiàng)目主要是為了玩玩,項(xiàng)目的方向大概是做出類(lèi)似的在線聊天系統(tǒng)。項(xiàng)目使用進(jìn)行部署和管理,功能在不斷的迭代開(kāi)發(fā)中。首頁(yè)用戶(hù)列表用戶(hù)中心注冊(cè)登陸注銷(xiāo)用戶(hù)資料指定聊天室開(kāi)始安裝使用之前,請(qǐng)?jiān)谥行薷牡陌惭b路徑。 技術(shù)棧:NodeJS & SocketIO & Express & EJS & MongoDB & Gulp 項(xiàng)目背景 這個(gè)項(xiàng)目主要是為了玩玩NodeJS,項(xiàng)目的方向大概...

    codecook 評(píng)論0 收藏0
  • NodeJS打造多人在線聊天室(NodeJS & SocketIO & Expre

    摘要:技術(shù)棧項(xiàng)目背景這個(gè)項(xiàng)目主要是為了玩玩,項(xiàng)目的方向大概是做出類(lèi)似的在線聊天系統(tǒng)。項(xiàng)目使用進(jìn)行部署和管理,功能在不斷的迭代開(kāi)發(fā)中。首頁(yè)用戶(hù)列表用戶(hù)中心注冊(cè)登陸注銷(xiāo)用戶(hù)資料指定聊天室開(kāi)始安裝使用之前,請(qǐng)?jiān)谥行薷牡陌惭b路徑。 技術(shù)棧:NodeJS & SocketIO & Express & EJS & MongoDB & Gulp 項(xiàng)目背景 這個(gè)項(xiàng)目主要是為了玩玩NodeJS,項(xiàng)目的方向大概...

    Astrian 評(píng)論0 收藏0
  • 從零開(kāi)始構(gòu)建 Wijmo & Angular 2 小應(yīng)用

    摘要:中秋之際,團(tuán)隊(duì)發(fā)布正式版,當(dāng)天宣布支持。其實(shí)從開(kāi)始,到之后版本和版本,一直緊隨其后。現(xiàn)在就開(kāi)始在中使用的第一個(gè)應(yīng)用吧。這些警告表示包里沒(méi)有,這些僅僅用于一些包信息。好了,現(xiàn)在的準(zhǔn)備工作已經(jīng)完成了,您可以開(kāi)始創(chuàng)建的應(yīng)用了。 中秋之際,Angular 團(tuán)隊(duì)發(fā)布 Angular 2 正式版,Wijmo 當(dāng)天宣布支持 。其實(shí)從Angular Alpha開(kāi)始,到之后 Beta版本 和 RC 版本...

    glumes 評(píng)論0 收藏0

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

0條評(píng)論

閱讀需要支付1元查看
<