1. nodejs是後端還是前端
nodejs是後端,但用的語言是JavaScript,JavaScript是前端語言。
2. 請問前端模塊和node.js的關系
1 node.js是javascript運行時,可以看作是javascript運行環境,類比瀏覽器
2 npm和前端框架的關系類比jar包和maven,然後maven需要運行環境jdk,npm管理包需要node
3 用node.js開發前端或集成前端模塊,則node.js主要是用來做為前端開發環境。完成之後,伺服器是什麼語言無所謂。此時伺服器對於js和html來說,只是個http伺服器,傳輸文件,運行環境還是在瀏覽器。
4 對於node.js模塊來說,如http,express,file等模塊,node.js環境是必須的。就好像java運行需要jdk。
3. 為什麼前端要會使用Nodejs
你熟悉JavaScript
假設你正在使用一個功能強大的客戶端框架(Angular,Ember,
Backbone)以及REST-ful伺服器端的API,使用JSON這種數據格式來傳輸和接受數據。即使你沒有使用其中的任一種框架,你也用jQuery寫過自己的框架。因此如果你不在伺服器端使用Node.js,那麼你就不斷地做轉譯吧。你在轉譯兩件事:
來自你腦中JavaScript的邏輯轉換為伺服器端框架的邏輯。
來自JSON的HTTP數據轉換為你的伺服器端的對象。
JavaScript貫穿著你的應用,你不但智力上漲,你也獲得了實踐經驗。通過模型和模板的復用,你可以減少應用的大小,同時減少了復雜度和出現bug的可能性。
它很快
Node.js是JavaScript運行環境,使用了Google用在Chrome中的V8引擎。V8以閃電般的速度編譯和執行JavaScript是因為V8將JavaScript編譯成本地機器代碼。包括網路連接的讀寫,文件系統的讀寫,以及資料庫的讀寫——所有的在網頁應用中的日常任務——在Node中執行地非常非常快。Node能讓你創建快速,大規模的網路應用,能夠處理高吞吐量的大量的實時連接。
工具
npm是Node.js的包管理器並且它棒呆了。這確實很棒,當然,這類似於其他生態系統的包管理器,但是npm很快很穩很一致。他在尋找和安裝項目依賴做的非常好。他讓包和其他的項目隔離開來,防止版本混淆。
實時變得簡單
如果Node.js很擅長多並發連接,那麼他也擅長多用戶的,實時的網頁程序,例如聊天室和游戲。Node的
event loop
能夠滿足多用戶需求。實時能力使用websocket協議。Websocket是在客戶端和伺服器端的簡單的雙向溝通渠道。因此伺服器能夠推送數據到客戶端就像客戶端推送一樣。websocket運行在TCP,避免了HTTP的消耗。
流數據
傳統意義上來說,web框架將HTTP請求和響應當做一個整體的數據對象。實際上,他們是I/O流,你可以想像,如果你把文件從文件系統中以流的形式取出。既然Node.js非常擅長處理I/O,我們能夠利用這個特點創建一些很酷的東西。比如,它能夠當視頻或音頻文件上傳的時候,就轉碼音頻或視頻文件,減少了整體處理的時間。
一個代碼庫和免費的實時
Meteor是下一代基於Node的web框架。他可以在客戶端和伺服器端運行相同的代碼庫。然後,數據自動保存在伺服器。其他的方式也奏效!任何伺服器上的數據都自動傳到客戶端。
4. 前端裡面node.js和vue.js區別是什麼
兩者的區別是:一個是服務端語言,一個是前端框架。
1、nodejs是一個js運行於服務端的環境,是一個服務端語言;而vue是前端渲染的庫,是一個前端框架。
2、Node用於方便地搭建響應速度快、易於擴展的網路應用;
3、而vue用於實現響應的數據綁定和組合的視圖組件。是一套用於構建用戶界面的漸進式JavaScript框架。
Node.js
是一個基於 Chrome V8 引擎的 JavaScript 運行環境。
Node.js 使用了一個事件驅動沖遲、非阻塞式 I/O 的模型,使其輕量又高效。
Node.js 的包管理器 npm,是全球最大的開源庫生態系統。
Vue.js
是一個構建數據驅動的 web 界面的漸進式框架。
Vue.js 的目標是通過盡可能簡單的 API 實現響應的數據綁定和旦判喚組合的視圖組件。它不僅易於上手,還便於與第三方庫或既有項目整合。另一方面,當與單文件組件和 Vue 生態系統支持的庫結合使用時,Vue 也完全能夠為復雜的模凱單頁應用程序提供驅動。
5. 前端用node做什麼
用node可以臨時搭建一個伺服器,還可以安裝所需要的依賴包。
目前vue開發過程中,node是不可或缺的一個工具。當然也可以不用,但是不用的時候很少。
6. 前端需要學node嗎
nodejs生來就是為了前端項目服務的,提供了一個平台,可以快速開發網頁項目:如下摘抄的解釋:
基於:NodeJS 提供了一個﹝讓熟悉 JavaScript 的人可以快速上手並可進行後台系統開發﹞的環境/平台,這樣的設定。
Short answer: 是的
Long answer:
對於現在的前端來說,尤其是多以 JavaScript 為主做 web app 而不是傳統的以 HTML+CSS 為主的網站頁面的前端來說,本身業務需求就需要對 JavaScript 有比較深入的理解和認識。
基於此,其對於 NodeJS 的基本概念應該是已經有一定的了解了的。
其次,作為前端自動化(如項目初始化、「編譯」、測試等)的要求,需要一定程度上了解 Node,尤其是那些可編程式的工具,如Yeoman、Bower、GruntJS、GulpJS、Protractor等。
還有,作為 full stack engineering 的一種,NodeJS 只要求JS,所以使用 Node 可以讓專業的前端(除了前端專業性的基本功,至少還要了解演算法和數據結構等程序設計基礎的),能夠快速轉型成全棧開發。
同時,對於以 JS 為主要開發語言並且有比較深入了解的前端來說,學習 NodeJS 難度並不高,event-driven 應該是本就熟悉的,stream 也類似,其它如閉包、Promise、模塊化等更是如此;而關於網路、文件系統、進程等的概念理解和相關操作,對於計算機、電子、網路等相關專業出身的人來說,應該是已經有基本認識的,有此類背景的前端上手也會很快,而沒有此類背景的,也建議去學習了解一下,畢竟屬於計算機學科基礎知識。
綜上所述,不管是說為了前端自動化,還是前端開發人員為主的全棧式開發,又或者是擴展前端人員知識廣度,都是應該有一定 NodeJS 基礎的。