Vue2.x學習筆記:第0章 初學NodeJS和npm

1、什麼是nodejs?通俗講解

node.js:是javascript的一種運行環境,是對Google V8引擎進行的封裝。是一個服務器端的javascript的解釋器。

Node.js在維基百科中就已經很明確的說明了,它是一個運行環境,並不是其他的什麼比如軟件庫,簡而言之,和C#所需要的編譯環境一樣,Node.js就是JavaScript的編譯環境,它存在的目的就是爲了讓JavaScript可以和其他的後端語言一樣能夠在瀏覽器上運行,換種說法就是,可以讓前端語言JavaScript在寫完之後交給Node.js進行編譯和解釋,它的存在對於JavaScript有了質的飛躍,對於一個前端來說利用JavaScript就可以編譯後臺代碼是一件多麼爽飛天的事情。

簡單的Node.js命令就是:

#node hello.js

類比理解

nodejs不是一個js框架,千萬不要認爲是類似jquery的框架,nodejs是js運行時,運行環境,類比javajvmjava的開端是什麼,無疑是jvm,自從有了jvmjava才能吹牛說自己是“一次編寫處處運行”,不管你是windows還是linux,只要安裝了對應版本的jvm都可以運行.class文件。同樣nodejs的作用和jvm的一樣一樣的,也是js的運行環境,不管是你是什麼操作系統,只要安裝對應版本的nodejs,那你就可以用js來開發後臺程序。

2、什麼是npm?

npm:全稱是Node Package Manager,是一個NodeJS包管理和分發工具,已經成爲了非官方的發佈Node模塊(包)的標準。類似於後臺開發的jar包依賴管理:Maven

其實npmnodejs的包管理器(package manager)。我們在Node.js上開發時,會用到很多別人已經寫好的javascript代碼,如果每當我們需要別人的代碼時,都會到官方網站下載源碼,解壓,再引入使用,會非常麻煩。於是就出現了包管理器npm

大家把自己寫好的源碼上傳到npm官網上,如果要用某個或某些個,直接通過npm安裝就可以了,不用管那個源碼在哪裏。並且如果我們要使用模塊A,而模塊A又依賴模塊B,模塊B又依賴模塊C和D,此時npm會根據依賴關係,把所有依賴的包都下載下來並且管理起來。試想如果這些工作全靠我們自己去完成會多麼麻煩!

3、NodeJS和npm是什麼關係呢?

包含關係,nodejs中含有npm,比如說你安裝好nodejs,你打開cmd輸入npm -v會發現npm的版本號,說明npm已經安裝好。

4、npm和cnpm是什麼關係呢?

因爲npm安裝插件是從國外服務器下載,受網絡影響大,可能出現異常,如果npm的服務器在中國就好了,所以我們樂於分享的淘寶團隊幹了這事。cnpm就是中國的npm插件,你只需知道這個命令和npm一致,並且下載速度快就可以了

5、安裝nodejs(內嵌npm)

下載地址:https://nodejs.org/en/download/
在這裏插入圖片描述
下載之後安裝:windows下安裝msi方式的安裝包,很簡單,基本就是一路點擊鼠標確認下來的,所以就不詳說了。
安裝完畢後,打開cmd命令窗口,輸入cpm -v 查看版本號。
在這裏插入圖片描述

安裝cnpm插件:npm install cnpm -g –registry=https://registry.npm.taobao.org
在這裏插入圖片描述
通過:cnpm -v 查看插件版本
在這裏插入圖片描述

6、試用npm及cnpm

cnpm install vue -g  全局安裝:模塊將被下載安裝到【全局目錄】中;
cnpm install vue,則是將模塊下載到當前命令行所在目錄

怎麼查看默認的全局目錄呢?

cnpm config list

比如我我們到D:盤下創建work目錄,並在work目錄下創建工程目錄mytest,然後打開cmd
進入:D:\work\mytest 目錄,執行:cnpm install vue 查看此目錄是否會成功下載vue。
在這裏插入圖片描述
從截圖可以看出,會默認創建node_modules目錄,並在此目錄下下載vue目錄。

這樣npm的使用就介紹完畢,那麼我們在開發時,到底需要進行全局下載還是當前目錄下載呢?

7、全局下載還是當前目錄下載呢?

命令中,全局安裝(global)和本地安裝(local)方式的區別爲帶參數-g和不帶參數-g。具體區別:

npm install moduleName ,則是將模塊下載到當前命令行所在目錄。npm install moduleName -g ,模塊將被下載安裝到全局目錄中,即Node的安裝目錄下的node_modules下2.調用方式:

在代碼中,本地安裝可以直接通過require()的方式引varmoduleName=require(‘moduleName’);全局的安裝是供命令行(command line)使用的,比如grunt,全局安裝的方式是沒有辦法用require調用包的

因此我們開發時,基本上是需要把依賴的包進行本地下載的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章