轉自:https://www.cnblogs.com/threeAgePie/p/13082786.html
vue.js和node.js到底是什么關系呢?
在學習vue的時候最先安裝的就是node.js環境。那么沒有node.js環境,vue.js能不能運行呢?
首先說一下node.js
就前端來說nodejs具有划時代的意義,
做前端的沒用過nodejs都不好意思說自己是前端,
做后端的沒聽過nodejs,
或者說不出nodejs和java的優缺點,也不是一個合格的后端。
nodejs不是一個js框架,千萬不要認為是類似jquery的框架,
nodejs是js運行時,運行環境,類比java中jvm,
java的開端是什么,無疑是jvm,自從有了jvm,java才能吹牛說自己是“一次編寫處處運行”,
不管你是windows還是linux,只要安裝了對應版本的jvm都可以運行.class文件。
同樣nodejs的作用和jvm的一樣一樣的,也是js的運行環境,不管是你是什么操作系統,
只要安裝對應版本的nodejs,那你就可以用js來開發后台程序。
這具有划時代的意義,意味着一直以來只能在瀏覽器上玩來玩去的js,可以做后端開發了,
從有了nodejs后就催生出一大批用js做后台開發的前端人員,這部分人員就是偏前端的“全棧程序員”。
那么問題來了,我們vue開發前端,瀏覽器可以解析運行js代碼,同樣是解析運行js代碼,瀏覽器可不可以代替node.js呢?
那么node.js作為js運行環境能干什么呢?
我們不用node.js能不能運行vue呢?
回答以上問題:
① 同樣是解析運行js代碼,瀏覽器可不可以代替node.js呢?
通過之前的了解,貌似javascrip對我們日常的交互都可以完成,貌似什么都可以做,但是他也有不能做的事。如:
(1)涉及到端對端的應用程序,我們需要操作文件,瀏覽器中的javascript是不能進行文件操作的,雖然h5里面提供了關於文件相關的API,但是這些API大多數只限於只讀的層面 ,不能像傳統的語言如java,通過傳一個路徑,然后將對應的文件讀出來,說白了就是不能進行文件和文件夾的CURD.
(2),瀏覽器端的javascript也沒有辦法去操作操作系統,如獲取操作系統的版本之類的。
②
node.js作為js運行環境能干什么呢?
首先node.js可以作為一個后台服務器,對於vue來說那么我們用java作為后台服務器是不是就可以不用node.js了?當然不是,對於vue來說,作為后台服務器選擇,當然node和java都可以。但是有些東西java不能代替node。
npm和webpack都是依賴node環境的。vue如要使用這些,就需要node環境。
③
我們不用node.js能不能運行vue呢?
當然可以,只要不使用npm和webpack技術就可以在沒有node環境下使用vue。
以上內容為個人理解,如若有誤請大家斧正。