欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

node、npm、chrome、v8、sandbox是什么?

程序员文章站 2022-05-15 14:46:08
这些东西有些比较常用,有些仅知道个名称,但无论是熟悉还是陌生的,要比较精确地解释这些东西,是有一定的难度,可这些东西对前端开发非常重要,还是需要有明确的概念。 PS:内容点到即止,不然一个东西一篇文章都写不完。 整体认识 在学习方法上,对于互有联系的东西,有一个整体的印象,比起一个个琐碎的认识更为重 ......

这些东西有些比较常用,有些仅知道个名称,但无论是熟悉还是陌生的,要比较精确地解释这些东西,是有一定的难度,可这些东西对前端开发非常重要,还是需要有明确的概念。

ps:内容点到即止,不然一个东西一篇文章都写不完。

整体认识

在学习方法上,对于互有联系的东西,有一个整体的印象,比起一个个琐碎的认识更为重要,所以标题上的概念,我更喜欢从整体上去认识。

node、npm、chrome、v8、sandbox是什么?

ps:chrome浏览器和node的组件构成

从上图可以看出,node的结构与chrome非常相似,node选择javascript为实现语言,v8为执行引擎,利用libuv实现基于事件驱动的异步架构。 

名词解析

chrome

一款网页浏览器。

v8

v8(c++开发)是javascript的执行引擎,它将javascript编译成原生机器码(ia-32, x86-64, arm, or mips cpus),并且使用了如内联缓存等方法来提高性能,运行速度媲美二进制程序。

sandbox

沙盒(sandbox)是一个 c++ 库,它允许创建沙盒进程 (在非常严格的环境中执行的进程)。沙盒进程可以*使用的资源仅仅是cpu周期和内存。例如,沙盒进程无法写入磁盘或显示自己的窗口。

ps:

node

一个基于 chrome v8 引擎的 javascript 运行环境。

node是一个运行环境,最需要认识到的是这一点。有人可能会误以为node是一个前端工程的构建工具,这是不对的,它仅仅是node的工具类应用,也有人认为node是一个web服务器,虽然创建者最初的意图确实是做这个,但随着时间发展,它就不仅仅如此而已,更有人认为node是一个命令行工具,但显然是一个包含关系,而不等于。

libuv

一个专注于异步 i / o 的跨平台支持库。

npm

npm是帮助node完成第三方模块的发布、安装和依赖的工具。

npm之于node,相当于gem之于ruby,pear之于php,maven之于java。

参考文献

1、《深入浅出node》by 田永强

2、

3、