日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Node.js入门(含NVM、NPM、NVM的安装)-(转载)

發布時間:2024/8/1 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Node.js入门(含NVM、NPM、NVM的安装)-(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Node.js的介紹

引擎

引擎的特性

JS的內核即引擎。因為引擎有以下特性:

(1)轉化的作用:

  • 汽油柴油等等->動能

  • 模板+數據--->頁面

  • js引擎:js 代碼--->機器碼\字節碼

(2)移植性。

有哪些引擎

備注:Node是用V8引擎去解析 js,此時,我們不用去考慮瀏覽器的兼容性問題。

什么是 Node.js

1、官方解釋:

Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境。 Node.js使用了一個事件驅動非阻塞式I/O的模型( Node.js的特性),使其輕量級又高效。 Node.js 的包管理器 nmp 是全球最大的開源庫生態系統。

如上圖所示:

  • Node 內部采用 Google Chrome 的 V8 引擎,作為 JavaScript 語言解釋器;

  • 通過自行開發的 libuv 庫,調用操作系統資源。

2、非官方解釋:

Node.js:是 JavaScript 語言在服務器端的運行環境(平臺)。

3、運行環境(平臺)的含義:

  • 首先,JavaScript 語言通過 Node 在服務器運行,在這個意義上,Node 有點像 JavaScript 虛擬機。

  • 其次,Node 提供大量工具庫,使得 JavaScript 語言能與操作系統互動(比如讀寫文件、新建子進程),在這個意義上, Node 又是 JavaScript 的工具庫。

總結:

Node.js 是一個 JavaScript 的運行環境(平臺),不是一門語言,也不是 JavaScript 的框架。

Node 的歷史

  • 2008年左右,隨著 AJAX 的逐漸普及,Web 開發逐漸走向復雜化,系統化;

  • 2009年2月,Ryan Dahl 想要創建一個輕量級,適應現代 Web 開發的平臺;

  • 2009年5月,Ryan Dahl 在 GitHub 中開源了最初版本,同年11月,JSConf 就安排了 Node 講座;

  • 2010年底,Joyent 公司資助,Ryan Dahl 也加入了該公司,專門負責 Node 的開發;

  • 2011年7月,在微軟的支持下登陸 Windows 平臺。PS:node 的生產環境基本是在 Linux 下。

據 Node.js 創始人 Ryan Dahl 回憶,他最初希望采用 Ruby,但是 Ruby 的虛擬機效率不行。

注意:是 Node 選擇了 JavaScript,不是 JavaScript 發展出來了一個 Node。

國內外的應用情況

以下幾個項目都用到了 Node:

  • https://github.com/nodejs/node-v0.x-archive/wiki/Projects,-Applications,-and-Companies-Using-Node

  • https://nodejs.org/en/foundation/members/

  • https://github.com/NetEase/pomelo

還有以下幾個網站:

  • LinkedIn移動版From RoR to Node.js, base on Joyent

  • Paypal From Java to Node.js

  • Twitter的隊列:收集需要保存的Tweets,傳給負責寫入的進程

  • 知乎的推送

  • 網易、阿里、各種創業團隊等

Node.js的主要應用領域

  • RESTFul API

  • 實時通信:如消息推送等

  • 高并發

  • I/O阻塞

知名度較高的Node.js開源項目

  • express:Node.js中最有名的web服務器框架。

  • PM2:node 本來是單進程的,PM2可以實現和管理多進程。

  • jade:非常優秀的模板引擎,不僅限于 js 語言。

  • CoffeeScript:用簡潔的方式展示 JavaScript 優秀的部分。

  • Atom:文本編輯器。

  • socket.io:實時通信框架。

  • mocha:功能強大的 node.js 測試框架。

Node.js 的環境配置

Node.js 安裝包(不推薦)

去 Node.js 的官網下載安裝包:

我們也可以在https://nodejs.org/en/download/releases/上下載歷史版本。

注意,我們以一定要用偶數版(V4、V6等),不要用奇數版(比如V5),因為奇數版不穩定。

我們并不推薦直接采用 Node.js.msi 安裝包進行安裝,不方便 node 的更新,原因如下:

  • 以前版本安裝的很多全局的工具包需要重新安裝;

  • 無法回滾到之前的版本;

  • 無法在多個版本之間切換(很多時候我們要使用特定版本)。

因此,我們暫時先不用安裝 Node.js,稍后用 NVM 的方式來安裝 Node.js。

通過 NVM 安裝Node.js(推薦)

NVM:node.js version manager,用來管理 node 的版本。安裝的步驟如下。

(1)我們去官網下載 NVM 的安裝包:

下載下來后,直接解壓到 D:\web目錄下:

(2)在上面的目錄中,新建一個settings.txt文件,里面的內容填充如下:

root: D:\web\nvm path: D:\web\nodejs arch: 64 proxy

上方內容的解釋:

  • root 配置為:當前 nvm.exe 所在的目錄

  • path 配置為:node 快捷方式所在的目錄

  • arch 配置為:當前操作系統的位數(32/64)

  • proxy 不用配置

(3)配置環境變量:

  • NVM_HOME = D:\web\nvm(當前 nvm.exe 所在目錄)

  • NVM_SYMLINK = D:\web\nodejs (node 快捷方式所在的目錄)

  • PATH += ;%NVM_HOME%;%NVM_SYMLINK%

配置成功后,重啟資源管理器。

驗證:(在 cmd 中輸入命令)

(1)輸入nvm命令查看環境變量是否配置成功:

(2)輸入 nvm ls,查看已安裝的所有 node 版本。

(3)輸入 nvm -v,查看 已安裝的 nvm 版本。

(4)輸入 node -v,查看正在使用的 node 版本。

  • 參考鏈接:安裝npm,nvm,node

如果 node 安裝失敗,可以參考上面這個鏈接。

Mac 下安裝 NVM

打開 終端.app,輸入:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bashsource ~/.nvm/nvm.sh

安裝以后,nvm的執行腳本,每次使用前都要激活,建議將其加入~/.bashrc文件(假定使用Bash)。激活后,就可以安裝指定版本的Node。

也可以使用 Homebrew 安裝(更方便,維護更簡單):

brew install nvm

NVM 的常用命令

安裝指定版本的node:

nvm install 版本號 [arch]

比如:nvm install 4.2.2。

卸載指定版本node:

nvm uninstall 版本號

切換使用指定版本的node:

nvm use 版本號 [arch]

查看當前使用的 nvm 版本:

nvm -v

查看本地安裝的所有的 node 版本:

nvm list|ls

Node 的常用命令

在 查看 node 的版本:

$ node -v

執行腳本字符串:

$ node -e 'console.log("Hello World")'

運行腳本文件:

$ node index.js $ node path/index.js $ node path/index

查看幫助:

$ node --help

進入 REPL 環境:

$ node

REPL 的全稱:Read、Eval、 Print、Loop。類似于瀏覽器的控制臺。

如果要退出 REPL 環境,可以輸入.exit 或 process.exit()。

在 VS Code 里,我們可以在菜單欄選擇“幫助->切換開發人員工具”,打開console控制臺。

包和 NPM

什么是包

由于 Node 是一套輕內核的平臺,雖然提供了一系列的內置模塊,但是不足以滿足開發者的需求,于是乎出現了包(package)的概念:
與核心模塊類似,就是將一些預先設計好的功能或者說 API 封裝到一個文件夾,提供給開發者使用。

Node 本身并沒有太多的功能性 API,所以市面上涌現出大量的第三方人員開發出來的 Package。

包的加載機制

如果 Node中自帶的包和第三方的包名沖突了,該怎么處理呢?原則是:

  • 先在系統核心(優先級最高)的模塊中找;

  • 然后到當前項目中 node_modules 目錄中找。

比如說:

requiere(`fs`)

那加載的肯定是系統的包。所以,我們盡量不要創建一些和現有的包重名的包。

NPM的概念

包的生態圈一旦繁榮起來,就必須有工具去來管理這些包。NPM 應運而生。

NPM:Node Package Manager。官方鏈接: https://www.npmjs.com/

隨著時間的發展,NPM 出現了兩層概念:

  • 一層含義是 Node 的開放式模塊登記和管理系統,亦可以說是一個生態圈,一個社區。

  • 另一層含義是 Node 默認的模塊管理器,是一個命令行下的軟件,用來安裝和管理 Node 模塊。

NPM 的安裝(不需要單獨安裝)

NPM 不需要單獨安裝。默認在安裝 Node 的時候,會連帶一起安裝 NPM:

NVM、Node、NPM 安裝之后,目錄分布如下:

輸入 npm -v,查看 npm 的版本:

如果上方命令無效,可能是之前的 node 并沒有完全安裝成功。解決辦法:https://segmentfault.com/a/1190000011114680

另外,Node 附帶的 NPM 可能不是最新版本,可以用下面的命令,更新到最新版本:

$ npm install npm -g

NRM的安裝

由于 NPM 的資源都在國外,有時候會被墻,導致無法下載或者很慢。此時可以用到NRM。

NRM:Node Registry Manager。作用是:切換和管理包的鏡像源。項目地址:https://www.npmjs.com/package/nrm

安裝 NRM:

npm?install?-g?nrm

NRM 的常用命令:

nrm ls //顯示全部的鏡像nrm use taobao // 使用淘寶的鏡像

效果入下:

推薦的國內加速鏡像:https://npm.taobao.org/

轉載于:https://www.cnblogs.com/-colin/p/10381672.html

總結

以上是生活随笔為你收集整理的Node.js入门(含NVM、NPM、NVM的安装)-(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。