vue.js開發的時候需要安裝node.js,打包之後的文件夾部署到伺服器nginx下,好像不需要node.js了,

node.js的用途是什麼呀?


提供開發和生產打包的環境。


這問的有點奇怪呀,vue.js開發需要node.js,是因為vue.js開發依賴的環境需要node.js,比如需要依賴webpack+babel構建依賴打包(本身webpack就是在node.js環境下運行的),webpack也會在開發環境中生成webpack-dev-server給開發用。vue也依賴需要依賴npm生態的各種包。開發的時候你可以把node.js當做前端工程構建工具看待。node.js本身定位就是js的runtime,可以做的事情很多,不僅僅做服務。

看了描述還是不明白你問的是啥,到底是問開發還是問服務的事情,如果你想搭建Node.js的話,可以將Nginx作為反向代理,Node.js做業務服務並存放資源,現在市場上Node.js作為服務這層,一般是BFF,服務於前端的後端,比如統一整理請求介面,緩存處理,SSR,打包版本管理。


Vue就一個90多KB的JS文件,你在頁面引入 vue.min.js 就能使用Vue進行前端開發,有個IE9或更新版本的瀏覽器就能正常運行.

安裝Node的目的主要是使用npm這個前端開發可能用到的軟體包管理器和使用WebPack進行模塊化管理,但這並不是前端開發必需的工具.就好比我一個PHP開發者要用到jQuery+JSrender模板+LayUI進行前端開發時,只需要在頁面的head標籤內載入對應的幾個JS文件和CSS樣式,就行了.


vue是基於webpack等前端構建工具建立的應用,這些工具最基本的特點就是通過webpack-dev-server搭建小型Express伺服器(基於node的一個後端框架),將你的頁面動態的顯示在瀏覽器中,這就是由於原因,才需要的


因為 Vue.js 的資源也依託npm 管理,npm 是類似 Java 的 maven、Python 的 pip 和 PHP 的 composer 這樣的包管理工具。

npm 同時也是一個工具集,Vue.js 代碼的打包編譯也依賴於它。

最後 npm 依賴 Node.js 環境。所以Vue.js 開發需要安裝 Node.js


你的前端代碼好比大米,蔬菜,nodejs好比能源,天然氣或電,反正是前端屆的基礎設施。一旦米飯熟了,菜上桌,你就不需要node了,但離開了node,就吃不了飯菜。


1.因為瀏覽器端的js不能像服務端環境一樣操作文件

2.node環境下可以操作文件

3.webpack打包的本質就是文件整合,同時提供一些代理服務、熱更新,而這些東西在瀏覽器端做不到。

4.可以不用node,其他服務端語言亦可

5.nginx下不需要node,是因為你已經打包成靜態文件了,本質上前端產出的代碼都是靜態文件式存在,也就是所謂的生產環境。

6.開發的時候需要node,僅僅是方便你開發,提高開發效率。

還有疑問可以繼續討論


你說都了,你打包完的放到 Nginx 下。那你不打包能放到 Nginx 下嗎??? 你這感覺過河拆橋啊,過了橋,我已經上岸了,這個橋是幹嘛的?不需要了。(手動狗頭,Node 說: 我真的好慘。)


Node作用你已經說了,開發階段用的。

它用來實現前端開發的工程化的。

vue腳手架cli工具開發單文件組件vue程序,需要node。

熱更新,打包配置需要webpack,語法轉換需要babel,各種前輩實現的工具,庫,像axios,qs,cookie等輪子在npm上可以拿來直接用,不需要自己造。

這些都需要node作為環境支撐,可以將他們理解為用node做的程序工具。然後前端再用這些程序實現前端開發的工程化。而不是原始狀態那樣寫html,css,js


因為開發時你發現改一個文件,熱更新就直接刷新頁面了,比你手動刷新方便多了。

問題是為什麼會自動刷新,那是因為監聽了文件的變化,那麼怎麼監聽文件變化,那得需要對文件操作有許可權。

所以要依靠伺服器語言,所以node可以,java也可以,只是在開發的時候提升效率。

最後打包上線的還是靜態資源,你可以放在nginx下,或者node下,java下。

其他的你覺得為啥前端開發需要node的,都是同理。


emm.nodejs是將你寫的vue源碼編譯成為瀏覽器是別的普通代碼,例如瀏覽器可不能識別template節點,也不知道created方法就是創建執行的。


用vue開發不一定要裝node,之所以裝nodejs是因為前端工程化,比如文件打包,壓縮處理


開發的時候本地需要模擬環境 用的是Node.js 放在nginx的時候 服務跑在nginx下面 就不需要模擬了


node.js 只是 vue 開發的一種支持平台而已,vue 的大量輪子都可以依託 node.js 來獲得更高的開發效率。

但沒有 node.js 並不影響 vue 的任何功能,同樣能完成全部的 vue 開發。

就跟現在程序開發使用的IDE一樣,你可以完全不用它,但它確實可以幫了你很大的忙。


就像吃泡麵的時候用水是做什麼。


並不是vue需要node,而是webpack打包以及npm工具都需要基於node環境運行


相关文章