Nodejs 與 javascript 不可通用的緣由

1. 三種規範: AMD / CMD / COMMONJS

  • AMDCMD 都屬於 COMMONJS 規範,規範提出的目的是爲 js 這門鬆散的語言提供 一致性,標準性 的模塊化機制,爲開發大型應用,桌面應用,服務後臺提供前提。css

  • 三種規範分別具備不一樣的實現,AMD -> requirejs, CMD -> seajs, COMMONJS -> nodejs , 這裏只列出比較常見的實現。***html

  • 大致上三種規範重疊性比較大,具體不一樣請具體查看規範對比node

  • 任何上述標準的實現中須要提供 require(), module,module.exports,exports 四個全局對象。git

####2. 一切爲了安全: 瀏覽器github

瀏覽器的不同凡響,在於它是一個開放平臺式的軟件,瀏覽器只是提供了一些運行環境,而實際的內容貢獻者確不是瀏覽器廠商,爲了保證網頁發佈者的安全,網頁瀏覽者的安全,瀏覽器不得不限制不少權 限,防止對用戶,網頁發佈者的危害,常見的有: 本地文件操做權限,可執行命令訪問權限 等,與網頁相關的有 跨域訪問限制等。web

####3. 多語言集成編程

  • 談到web開發,Html Css Js 算是三個元老級的語言了,其實,從程序的角度來看,html ,css 並不算是一種編程語言,甚至在必定角度上,更像是一種協定好了的配置文件,或者協議棧。因此, 在瀏覽器中,Js 可以交互的多語言環境,其實應該只有它本身,固然對於IE 中能夠調用ocx本地接口的這個不算作w3c標準之中。api

  • 對於Nodejs來講,卻可以經過各類調用方式來與其餘語言合做,完成對於JS徹底意想不到的事情。跨域

####4. 網絡傳輸協議瀏覽器

  • Js 目前支持 http協議,https協議,以及 websocket

  • Nodejs做爲本地語言,能夠訪問到本地資源,這意味着只要硬件容許,nodejs 可使用任意網絡傳輸協議傳輸數據。

相關文章
相關標籤/搜索