标签:客户 非阻塞i/o 文件的 封装 特殊 来讲 根据 虚拟机 发送请求
Nodejs英文网:https://nodejs.org/en/
我们会发现这样一句话:
翻译成中文如下:
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。
好的。那么在介绍nodejs之前,大家是否对JavaScript有定义呢?
之前学过前端,都知道,javascript是一门运行在浏览器端的脚本语言,用来做客户端页面的交互。
通过之前的了解,貌似javascrip对我们日常的交互都可以完成,貌似什么都可以做,但是他也有不能做的事。如:
1)涉及到端对端的应用程序,我们需要操作文件,浏览器中的javascript是不能进行文件操作的,虽然html5里面提供了关于文件相关的API,但是这些API大多数只限于只读的层面 ,不能像传统的语言如java,通过传一个路径,然后将对应的文件读出来,说白了就是不能进行文件和文件夹的CURD.
2),浏览器端的javascript也没有办法去操作操作系统,如获取操作系统的版本之类的。
那么为什么不能进行这两类操作?其实是出于安全考虑,因为,js这门语言运行的环境比较特殊,说他特殊,特殊在什么地方?虽然我们编写好的js代码最终会放在服务器上,但是他毕竟不是在服务器上执行的,而是通过服务器发送到浏览器端执行的,在浏览器端执行文件的操作显然是不安全的,因此说这些功能在客户端不是不能做,而是由于特殊的运行环境没法做
标签:客户 非阻塞i/o 文件的 封装 特殊 来讲 根据 虚拟机 发送请求
原文地址:https://www.cnblogs.com/gaoya666/p/9071288.html