Node.js入門(一):引入、安裝配置、常見概念以及npm常用命令

最近在網(wǎng)上找了一些視頻,對node.js簡單學(xué)習(xí)一下,學(xué)的同時(shí),也對自己學(xué)的內(nèi)容做了一些梳理,發(fā)文章,主要是記錄一下收獲,如果順便能對看到這篇文章的朋友起到一點(diǎn)幫助,那就更是再好不過了~

什么是 Node?

node.js是門技術(shù)不是語言(主要是我剛開始有點(diǎn)混淆(捂臉))

  • https://nodejs.org/en/
  • Node 的實(shí)現(xiàn)結(jié)構(gòu):node運(yùn)行環(huán)境基于v8引擎
V8 
    JavaScript 解析執(zhí)行引擎   ECMAScript
中間層 
    (提供了文件操作、網(wǎng)絡(luò)操作登陸接口)更加接近操作系統(tǒng)的接口供開發(fā)人員使用**(C++編寫)**
硬件層

特點(diǎn):
    用事件驅(qū)動、無阻塞的io模型
    優(yōu)勢輕量、高效
  • node運(yùn)行環(huán)境基于v8引擎

      javaScript 
          -> chrome V8 
              -> libuv(中間層,C++) 
                  -> 硬盤,網(wǎng)卡等硬件了
    特點(diǎn)用事件驅(qū)動、無阻塞的io模型
    優(yōu)勢輕量、高效
    
  • node是門技術(shù)不是語言

     java開發(fā)、.net、c#、node js開發(fā)、iOS開發(fā)
    
以下是幾條對Node.js的官方解讀:

Node.js? is a JavaScript runtime built on Chrome's V8 JavaScript engine.

1. JavaScript runtime  JavaScript 運(yùn)行時(shí)
2. Chrome's V8 JavaScript engine Chrome 瀏覽器 V8 引擎
3. Node.js 是一個(gè) 構(gòu)建于 谷歌的 Chrome 瀏覽器的 V8 引擎之上的一個(gè) `JavaScript運(yùn)行時(shí)` 環(huán)境
4. Node.js可以解析和執(zhí)行 JavaScript 代碼

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.

1. event-driven  事件驅(qū)動模型
2. non-blocking I/O model  非阻塞IO模型  IO(input/output)輸入與輸出
3. lightweight  輕量級
   在軟件開發(fā)行業(yè)中,輕量級標(biāo)識褒義詞
   輕量級也就意味著 運(yùn)行速度快
   輕量級也就意味著有更好的 跨平臺 特性(平臺的差異性,兼容性)
4. efficient 高效的
5. Node.js的事件驅(qū)動和非阻塞IO模型使得Node.js本身非常的輕量和高效

Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

1. package ecosystem npm  包生態(tài)系統(tǒng) npm
2. largest  最大的
3. open source libraries 開源庫
 理論意義上 開源就表示有成熟的社區(qū),開放源代碼
4. Node.js 的npm包生態(tài)系統(tǒng),是世界上 最大的 開源庫 生態(tài)系統(tǒng)
5. 以前的 客戶端中 JavaScript 庫 散列在互聯(lián)網(wǎng)的各個(gè)地方
6. npm 就是 把大家經(jīng)常使用的一些開源庫 給 組織到了一起
Node 是一個(gè)可以解析和執(zhí)行 JavaScript 代碼的 運(yùn)行時(shí)環(huán)境 
              - Node.js 的作者  瑞恩.達(dá)爾

安裝與配置

官網(wǎng)的nodejs版本,注意用偶數(shù)的,別用奇數(shù)的,偶數(shù)的是穩(wěn)定版本,這一點(diǎn)在版本發(fā)布圖中也可用看出來..

nvm安裝法

nvm 安裝和管理我們的 Node.js版本,但是首先,你得安裝nvm...
安裝命令:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
然后設(shè)置全局變量,就可以使用了(設(shè)置全局變量的方法...就不贅述了吧...)

在這里說一下node相關(guān)的三個(gè)命令:nvm, npm, nrm

nvm - node版本的管理工具
    nvm Githup項(xiàng)目地址:
        https://github.com/coreybutler/nvm-windows 
    nvm list
        查看所有已安裝的本地的node版本
    nvm use 版本號
        切換node版本
    nvm install 版本號 位數(shù)
        安裝指定版本的node
    nvm uninstall 版本號
        卸載已安裝的指定版本的node

npm - node的包管理工具

nrm - npm的數(shù)據(jù)源管理工具
    npm install -g nrm 
    nrm ls 查看數(shù)據(jù)源
    nrm test 測試你的網(wǎng)連那個(gè)npm的數(shù)據(jù)源快
    nrm use 切換數(shù)據(jù)源
    
    可以使用cnpm - 淘寶鏡像,加快網(wǎng)速

安裝包的方式安裝

常見的錯(cuò)誤

1. 安裝了node 沒有卸載 
2. 32和64搞混了 
3. 拼寫錯(cuò)誤,路徑錯(cuò)誤

npm

  • 基于Node.js開發(fā)的包的托管網(wǎng)站
  • 基于包的規(guī)范實(shí)現(xiàn)的Node.js包管理工具
  npm init  創(chuàng)建package.json文件
npm install  將package.json中的文件依賴的包從網(wǎng)上下載到本地
npm install -save 包名  將包下載下來并且加載到dependencies中去
    npm i -S 包名 替代上面的命令
npm install -save-dev 包名 將包下載下來并且加載到devDependencies中去
    npm i -D 包名 替代上面的命令
npm docs 包名 查看包的文檔
    
npm list 
        當(dāng)前目錄有什么包,檢測node_modules里面有什么

npm install 包名

    當(dāng)執(zhí)行npm install的時(shí)候,它會自動跑到npm的網(wǎng)站,然后找到該包的github地址,
    找到之后,下載這個(gè)壓縮包,然后在執(zhí)行npm install的當(dāng)前目錄下找一個(gè)叫做node_modules目錄
        如果找到,直接解壓這個(gè)壓縮包,到node_modules目錄下
        如果找不到,則新建一個(gè)node_modules目錄,解壓到該目錄

npm install -g 包名

    表示全局安裝   
    npm在安裝的時(shí)候,在全局設(shè)置了一個(gè)安裝目錄,只要是全局安裝就會把包安裝到這個(gè)目錄里面去
    '只要是全局安裝就是安裝命令行工具'

npm install,縮寫 npm i

    當(dāng)執(zhí)行npm install的時(shí)候,會自動在當(dāng)前目錄中查找package.json文件
    如果找到,找里面的devDependencies、 dependencies 字段,安裝該字段中所有依賴的項(xiàng)

npm config set prefix  修改全局安裝目錄
    不建議使用,建議去文件夾里面改 C:\Users\用戶名  里面有一個(gè) .npmrc文件 
    去里面改prefix = C:\dev\npm  (寫你的路徑)
    去全局的環(huán)境變量path里把C:\dev\npm  路徑加進(jìn)去


以后在做項(xiàng)目的時(shí)候,先初始化一個(gè)package.json文件,在安裝第三方包依賴的時(shí)候,必須使用npm install --save express,添加依賴項(xiàng)到package.json文件中,
實(shí)際就是添加到dependencies字段中

參考文獻(xiàn) npm的命令 https://docs.npmjs.com/

npm的最終的目的就是:讓開發(fā)模式工程化,都依靠工具來管理

注意:
當(dāng)我們安裝好node.js —>
安裝好npm(node.js自帶的) —> 然后利用npm下載拉取其他庫的時(shí)候,可能會報(bào)錯(cuò):no such file or directory, open '/Users/usr/package.json'

解決辦法:
    檢測npm是不是最新版本的,因?yàn)閚ode.js安裝,雖然會自帶npm,但是npm的迭代更新比node.js要快
    更新npm版本,或者重新下載node.js(此次解決辦法:重新下載安裝了最新版本的node.js/npm,然后突然就好了~)

node命令 執(zhí)行js文件

用node執(zhí)行js文件,文件在當(dāng)前目錄下---->node +文件名
如果不在當(dāng)前目錄下,node +文件路徑的形式執(zhí)行

//運(yùn)行普通的nodejs文件,與nodejs服務(wù)器文件,都是node指令,區(qū)別在于后者能開啟一個(gè)服務(wù)

相對路徑
    ./當(dāng)前路徑
    ../上級目錄
絕對路徑執(zhí)行js的方式
    node c:\Users\cena\Desktop\code\01helloworld.js
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容