『壹』 請問前端模塊和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。
『貳』 前端用nodejs能做什麼
Node.js到底是什麼?
Node.js是一個JavaScript的編譯環境,當前端語言JavaScript在寫完之後可以交給Node.js進行編譯和解釋,它的存在對於JavaScript有了質的飛躍。
下面就是一個簡單的Node.js命令
#node hello.js
目前,Node.js在大部分領域都佔有一席之地,尤其是I/O密集型的。
比如Web開發,微服務,前端構建等。不少大型網站都是使用 Node.js 作為後台開發語言的,用的最多的就是使用Node.js做前端渲染和架構優化,比如 淘寶 雙十一、去哪兒網 的 PC 端核心業務等。另外,有不少知名的前端庫也是使用 Node.js 開發的,如Webpack是一個強大的打包器,React/Vue 是成熟的前端組件化框架。
Node.js通常被用來開發低延遲的網路應用,也就是那些需要在伺服器端環境和前端實時收集和交換數據的應用(API、即時聊天、微服務)。阿里巴巴、騰訊、Qunar、網路、PayPal、道瓊斯、沃爾瑪和 LinkedIn 都採用了 Node.js 框架搭建應用。
另外, Node.js 編寫的包管理器npm已成為開源包管理了領域最好的生態,直接到2017年10月份,有模塊超過47萬,每周下載量超過32億次,每個月有超過700萬開發者使用npm。
Node.js是一個對於前端工作者不可或缺的工具。尤其是對於JavaScript有著巨大的提升,現階段Node.js的應用已經有了非常蓬勃的發展。對於Node.js的學習和熟練運用,必不可少!
『叄』 為什麼前端要會使用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框架。他可以在客戶端和伺服器端運行相同的代碼庫。然後,數據自動保存在伺服器。其他的方式也奏效!任何伺服器上的數據都自動傳到客戶端。
『肆』 Node.js是屬於前端還是後端的技術
首先你得了解什麼nodejs,其次了解什麼後端技術及作用
1.node.js組成:谷歌瀏覽器的V8引擎、C++語言編寫的,本質上是一個JavaScript的運行環境。提到js,就能想到瀏覽器裡面的各種交互組件,非同步請求等等,它們依靠瀏覽器JavaScript 的引擎,來解析頁面的js代碼。
2.目前流行的後端語言就是PHP、Java、.Net,使用後端語言實現伺服器上的開發叫做後端技術。
3.nodejs就是讓JavaScript(js)可以實現伺服器上的開發。
4.JavaScript(前端語言)+nodejs(JavaScript的運行環境)=實現伺服器上的開發(後端技術),也就是說js+nodejs實現了後端開發的技術
『伍』 nodejs是後端還是前端
nodejs是後端,但用的語言是JavaScript,JavaScript是前端語言。
『陸』 前端需要學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 基礎的。
『柒』 前端為什麼要使用node
nodejs並不是前端使用的,它是基於javascript和google v8的伺服器編程語言。
很多類似Angular(不是Angular.js)之類的前端框架使用它,是利用它輔助項目構建等工作的。
還有部分使用nodejs作為mock伺服器,將前後台開發分離解耦。
『捌』 為什麼前端精通Node.Js的人這么少
1.nodejs比較新,09年才發布距今不到10年,跟JAVA、C++這些老前輩沒法比;
2.更新比較頻繁, 因為新所以要經常改,改動有多頻繁?看人家更新日誌感受下(node/ChangeLog at master · joyent/node · GitHub),因而對應的第三方模塊改動也大,用過expres3.X跟4.X的同學都懂的。
3.戰線比較長,戰鬥力自然分散,就像html5的 hybrid app 三端通吃,結果每一端都被原生碾壓。前後端通吃的人,精力自然分散;哪能像單攻一端那麼強?
4.nodejs目前定位比較尷尬,高不成低不就,大項目穩定性、安全性被質疑,小項目還是沒人家PHP 各種CMS來得快。隨著更新完善,這點以後必定會有所好轉。
5.同行的嘲諷;我們行業總有那麼一群人,對新、舊技術(c# html5 nodejs)了解皮毛後,發現其缺點然後無限放大在各種社區發帖黑之。雖然無法理解 這種 損人不利己的行為,但其對技術的發展阻礙作用還是很明顯的。
PS:第4、5點導致nodejs開發領域,進來的新人多不了,自然就鮮少精通的牛人。
6.nodejs在技術層面上精通有一定難度,一方面 nodejs後台需要有後端思維才能玩的轉,另一方面nodejs後台一些高階實現就是調用C++代碼模塊,對於大部分沒後台開發經驗的前端同仁要精通又得多一道坎。
『玖』 前端用node哪些功能
一個是前端工程化部分,也就是代碼的編譯打包,偶爾跑個本地伺服器用於方便開發項目。這部分主要就是用到node的一些系統庫,文件操作,路徑操作等。還有一方面就是在server端部分,就是用node做伺服器,這部分就需要用到node關於網路方面的能力了,也需要考慮node和資料庫,和web伺服器或者別的web服務之間的配合等。也就是你最開始說的node處理高並發這些。
『拾』 學web前端是不是一定要學node.js
web前端,涵蓋了超文本語言html,和css層疊樣式表,以及原生javascript,學完這些以後還要學框架,後台,其中node.js就是比較好的框架,比原生js封裝的jquery框架要更具有安全性和獨特性,希望能幫到你.