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 可使用任意网络传输协议传输数据。

相关文章
相关标签/搜索