node.js是什么_node.js服务器是什么 - CSDN
精华内容
参与话题
  • Node.js什么

    千次阅读 2014-03-11 14:00:23
    Node.js什么 Node.js 不是一种独立的语言,与PHP、Python、Perl、Ruby 的“既是语言也是平台”不同。Node.js 也不是一个JavaScript 框架,不同于 CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能...
    Node.js 是什么


    Node.js 不是一种独立的语言,与PHP、Python、Perl、Ruby 的“既是语言也是平台”不同。Node.js 也不是一个JavaScript 框架,不同于 CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能与jQuery、ExtJS 相提并论。Node.js 是一个让JavaScript 运行在服务端的开发平台,它让JavaScript 成为脚本语言世界的一等公民,在服务端堪与PHP、Python、Perl、Ruby 平起平坐。
    Node.js 是一个划时代的技术,它在原有的Web 前端和后端技术的基础上总结并提炼出了许多新的概念和方法,堪称是十多年来Web 开发经验的集大成者。Node.js 可以作为服务器向用户提供服务,与PHP、Python、Ruby on Rails 相比,它跳过了Apache、Nginx 等HTTP 服务器,直接面向前端开发。Node.js 的许多设计理念与经典架构(如LAMP)有着很大的不同,可提供强大的伸缩能力,以适应21世纪10年代以后规模越来越庞大的互联网环境。
    Node.js 与JavaScript
    说起JavaScript,不得不让人想到浏览器。传统意义上,JavaScript 是由ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)组成的,而Mozilla 则指出JavaScript 由Core JavaScript 和Client JavaScript 组成。之所以会有这种分歧,是因为JavaScript 和浏览器之间复杂的历史渊源,以及其命途多舛的发展历程所共同造成的,我们会在后面详述。我们可以认为,Node.js 中所谓的JavaScript 只是Core JavaScript,或者说是ECMAScript 的一个实现,不包含DOM、BOM 或者Client JavaScript。这是因为Node.js 不运行在浏览器中,所以不需要使用浏览器中的许多特性。
    Node.js 是一个让JavaScript 运行在浏览器之外的平台。它实现了诸如文件系统、模块、包、操作系统API、网络通信等Core JavaScript 没有或者不完善的功能。历史上将JavaScript 移植到浏览器外的计划不止一个,但Node.js 是最出色的一个。随着Node.js 的成功,各种浏览器外的JavaScript 实现逐步兴起,因此产生了CommonJS 规范。CommonJS 试图拟定一套完整的JavaScript 规范,以弥补普通应用程序所需的 API,譬如文件系统访问、命令行、模块管理、函数库集成等功能。CommonJS 制定者希望众多服务端JavaScript 实现遵循CommonJS 规范,以便相互兼容和代码复用。Node.js 的部份实现遵循了CommonJS规范,但由于两者还都处于诞生之初的快速变化期,也会有不一致的地方。

    Node.js 的JavaScript 引擎是V8,来自Google Chrome 项目。V8 号称是目前世界上最快的JavaScript 引擎,经历了数次引擎**,它的JIT(Just-in-time Compilation,即时编译)执行速度已经快到了接近本地代码的执行速度。Node.js 不运行在浏览器中,所以也就不存在JavaScript 的浏览器兼容性问题,你可以放心地使用JavaScript 语言的所有特性。



    展开全文
  • 搞懂什么是Node.js原来这么简单

    千次阅读 多人点赞 2020-09-22 22:16:42
    Node.js 是基于 Chrome 的 V8 JavaScript 引擎的 JavaScript 运行时。Node.js 采用事件驱动、非堵塞 I/O 模型,使其轻量化和高效。

    Node.js 的官方介绍

    在 Node.js 的官方网站的首页中,有这样一句话来描述 Node.js:

    Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.

    翻译过来的意思就是:

    Node.js 是基于 Chrome 的 V8 JavaScript 引擎的 JavaScript 运行时。Node.js 采用事件驱动、非堵塞 I/O 模型,使其轻量化和高效。

    上面这句话的第一句说明了什么是 Node.js,第二句说明了 Node.js 的特点。

    想要搞懂官方这句话的具体含义,我们还要从 JavaScript 语言说起。

    Node.js 的核心开发语言

    这里假设你已经掌握了 JavaScript 语言的基础语法以及基本使用。如果还没有掌握 JavaScript 的话,还是先去入门一下 JavaScript 语言吧。

    掌握了 JavaScript 语言的应该知道,JavaScript 语言是作为浏览器的脚本语言,可以实现网页与用户之间的交互。

    什么是交互?比如用户在网页中输入用户名或密码,这种用户输入行为就可以叫做交互。或者用户点击网页中的按钮等等,都可以叫做交互。

    JavaScript 语言之所以可以实现网页与用户之间的交互,主要是依靠事件来完成的。比如,用户的输入事件、点击按钮事件等等。

    下面我们通过用户点击按钮的行为为例,来看看 JavaScript 语言是如何处理的。

    javascript-event-handling

    通过上面的分析图,我们可以清晰的看到:

    1. 用户点击网页的按钮,执行 JavaScript 逻辑。
    2. JavaScript 逻辑经历三个阶段,分别是捕获事件、触发事件和事件冒泡。
    3. 当 JavaScript 逻辑执行完毕后,会将结果返回网页。
    4. 网页再根据结果显示给用户。

    通过这样的一个小案例,我们可以知道 JavaScript 语言处理网页与用户之间的交互,主要是依靠事件驱动

    网页与 Node.js 中 JavaScript 的区别

    目前几乎所有的浏览器都支持 JavaScript 语言,之所以支持的原因在于浏览器中都集成了 JavaScript 引擎。

    在众多浏览器中,Chrome 浏览器的性能相对更好,而且 Chrome 浏览器集成的 V8 JavaScript 引擎还是开源的。

    而 Node.js 就是利用了 Chrome 浏览器的开源 V8 JavaScript 引擎。那在网页中使用 JavaScript 语言和在 Node.js 中使用 JavaScript 语言有什么不同呢?我们可以通过下面这张图来了解一下。

    在这里插入图片描述

    通过上图可以清晰地看到,Node.js 相对于浏览器 Node.js 没有提供 WebKit 内核和 HTML 相关的 UI 技术。也就是说,Node.js 只提供了 JavaScript 语言。

    为什么要这样呢?其实,Node.js 的作者最初的想法就是想设计一个轻量和高效的服务器。

    什么是服务器

    那服务器又是什么呢?如果把一个 WEB 应用比作是一个人的话,那服务器就是人的大脑。

    在这里插入图片描述

    通过上面的图我们可以知道,人与人交流时,基本上要通过以下几个步骤:

    1. 别人与我交流,我是通过人的感官进行接收。
    2. 感官将信息传递给大脑。
    3. 大脑接收到信息后,进行处理,将处理的结果返回。
    4. 再通过感官反馈给与我交流的人。

    通过这个过程,我们可以发现,别人是直接通过感官与我交流的,并不知道大脑是如何工作的,也并不关心大脑是如何工作的。

    在这里插入图片描述

    而 WEB 应用与人类似,用户是与网页进行交互,网页将信息传递给服务器,服务器接收、处理并响应,最后网页将结果显示给用户。

    作为用户来说,并不关心服务器是如何工作的,甚至用户都感觉不到服务器的存在。但是,作为开发人员,想要开发一个完整的 WEB 应用,服务器的逻辑核心。

    从现在开始,我们要从用户思维转变成开发思维。通过开发思维重新审视我们曾经使用过的 WEB 应用,你会发现有所不同。

    思维的转变是很重要的!很重要的!很重要的!重要的事儿说三遍。

    Node.js 的简单理解

    讲到这里,我们可以简单地来归纳一下 Node.js 到底是什么了。

    Node.js 就是基于 Chrome 浏览器的 V8 JavaScript 引擎,以 JavaScript 语言为核心开发语言的服务器技术。

    如果使用 Node.js 开发一个 WEB 应用应该是怎么样的呢?

    在这里插入图片描述

    由于 JavaScript 逻辑是依靠事件驱动的,所以就不难理解 Node.js 是事件驱动的了。

    想要更好地理解和掌握 Node.js,还是先回去恶补一下 JavaScript 语言中的事件处理那些内容吧!

    Node.js 除了是基于 Chrome 浏览器的 V8 引擎以外,还提供了一系列的模块,让我们可以方便地实现一些功能。比如,处理客户端的请求、文件的处理等操作。

    在这里插入图片描述

    我们学习 Node.js,主要就是学习 Node.js 所提供的模块内容。所以,不要着急,我们慢慢来。

    展开全文
  • https://www.cnblogs.com/suhaihong/p/6598308.html
    https://www.cnblogs.com/suhaihong/p/6598308.html
    展开全文
  • NodeJS简介-node.js什么

    万次阅读 2019-04-05 15:14:34
    node.js什么本来应该是放在学习之后做的总结,但是在学习一门新语言或新的知识之前,还是应该对其有个大体上的了解,知道她是什么?她适用于哪些应用场景?她的优点及缺点?大体上弄清楚这些之后可以对其有个整体...

    前言

    node.js是什么本来应该是放在学习之后做的总结,但是在学习一门新语言或新的知识之前,还是应该对其有个大体上的了解,知道她是什么?她适用于哪些应用场景?她的优点及缺点?大体上弄清楚这些之后可以对其有个整体上的把握,通过越来越深入的学习这些疑问会得到解答。

    一、node.js是什么?

    node.js 是一个基于 Chrome V8 引擎的 JavaScirpt 运行环境。

    二、node使用场景

    ' Node 公开宣称的目标是 “旨在提供一种简单的构建可伸缩网络程序的方法”。当前的服务器程序有什么问题?我们来做个数学题。在 Java 和 PHP 这类语言中,每个连接都会生成一个新线程,每个新线程可能需要 2 MB 的配套内存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户。随着您的客户群的增长,如果希望您的 Web 应用程序支持更多用户,那么,您必须添加更多服务器。当然,这会增加服务器成本、流量成本和人工成本等成本。除这些成本上升外,还有一个潜在技术问题,即用户可能针对每个请求使用不同的服务器,因此,任何共享资源都必须在所有服务器之间共享。鉴于上述所有原因,整个 Web 应用程序架构(包括流量、处理器速度和内存速度)中的瓶颈是:服务器能够处理的并发连接的最大数量。

    Node 解决这个问题的方法是:更改连接到服务器的方式。每个连接发射一个在 Node 引擎的进程中运行的事件,而不是为每个连接生成一个新的 OS 线程(并为其分配一些配套内存)。Node 声称它绝不会死锁,因为它根本不允许使用锁,它不会直接阻塞 I/O 调用。Node 还宣称,运行它的服务器能支持数万个并发连接。'

    上述内容引自:https://www.ibm.com/developerworks/cn/opensource/os-nodejs/

    总结一下就是node通过更改连接到服务器的方式,可以处理高并发任务。

    三、优点及缺点

    优点:Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,异步编程,使其轻量又高效。

    缺点:单进程,单线程,只支持单核cpu,不能充分的利用多核cpu服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。

    四、基本使用

    require()引入模块,返回一个模块对象;

    module.exports()或者exports() 导出一个对象;

    问题:module.exports 与 exports 有什么区别?
    一开始两者指向同一个空间,如果给两者分别赋值(指向不同的对象的时候),优先导出module.exports这个对象,使用时最好使用module.exports。

    从下面的测试可以看出优先导出module.exports; 

     

     

    展开全文
  • nodejs是什么什么用?

    千次阅读 2016-08-22 11:02:54
    为试图解释什么是 Node.js,本文探究了它能解决的问题,它如何工作,如何运行一个简单应用程序,最后,Node 何时是和何时不是一个好的解决方案。本文不涉及如何编写一个复杂的 Node 应用程序,也不是一份全
  • Node.js什么Node.jsJavaScript的区别是什么

    万次阅读 多人点赞 2019-06-06 23:37:49
    node.js什么Node.js是一个Javascript运行环境(runtime)。Node.jsJavaScript的区别是什么?本质:     Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行  &...
  • nodejs简介

    万次阅读 多人点赞 2018-11-28 15:32:36
    nodejs ES6常用新语法 前言 是时候学点新的JS了! 为了在学习NodeJs之前,能及时用上语言的新特性,我们打算从一开始先学习一下...什么是ES6? 由于JavaScript是上个世纪90年代,由Brendan Eich在用了10天左右的时...
  • Node.js 究竟是什么

    2019-04-13 17:51:56
    如果您听说过 Node,或者阅读过一些文章,宣称 Node 是多么多么的棒,那么您可能会想:“Node 究竟是什么东西?” 即便是在参阅 Node 的主页之后,您甚至可能还是 不明白 Node 为何物?Node 肯定不适合每个程序员,...
  • 1.nodejs究竟是什么?  它是一个运行环境,平台, 它使得 js 可以运行与web服务器端. 2.nodejs的特点?  单线程, 基于事件模型,非阻塞IO. 高并发量的访问,节省内存。  IO : I/O也就是输入输出地址。每个...
  • nodejs可以用来做什么

    千次阅读 2019-03-07 09:52:09
    Node.JS 学习路线图  从零开始nodejs系列文章, 将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏...
  • JS是解释型语言 js在浏览器里运行的时候是浏览器来解释, 但是想nodejs这种在服务器端运行的时候是谁来解释js
  • node.js详细安装教程及使用

    万次阅读 2018-08-29 20:44:05
    node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。  Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。  Node.js 的包管理器 npm,是全球最大的开源库生态系统。 简单...
  • Node.js server-side javascript cpu占用高

    千次阅读 2019-07-07 04:37:00
    也不知道微软咋想的,不搞死...https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html 转载于:https://www.cnblogs.com/xinzhyu/p/1070...
  • Node.js介绍、优势、用途

    万次阅读 2018-11-07 11:21:50
    一、Node.js介绍 Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP、Java、Python、.NET、Ruby等后端语言平起平坐。 Nodejs是基于V8引擎,V8是...
  • Mac 下安装node.js

    万次阅读 2016-08-30 14:09:32
    Node.js 简介Node.js 是一个用Chrome's V8 JavaScript engine 构建的 JavaScript 运行时框架。Node.js 使用事件驱动、非阻塞式 I/O 模块使得它非常的轻量级和非常的高效。Node.js 生态系统,npm 是世界上最大的开源...
  • node.jsjavascript的关系

    千次阅读 2018-06-15 11:10:19
    node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时环境一、类比JavaScript和javaJavaScriptjavaV8JVMnode.jsJREJavaScript和java都是一门编程语言,至于两者的关系,是雷锋和雷峰塔的关系V8是google开源的...
  • Node.js — 运行在服务端的 JavaScript

    千次阅读 2019-01-03 13:47:44
    Node.js 是一个Javascript运行环境(runtime environment),简单的说 Node.js 就是运行在服务端的 JavaScriptNode.js 是一个基于Chrome JavaScript 运行时建立的一个平台。一个事件驱动I/O服务端JavaScript环境,...
  • Node介绍——什么是Node

    千次阅读 2018-09-20 20:50:40
    简单的说 Node.js 就是运行在服务端的 JavaScriptNode.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的...
  • Node.js的下载安装与使用

    万次阅读 2018-08-29 20:24:48
    Node.js是一种运行在服务端的JavaScript,是一个基于Chrome JavaScript 运行时建立的一个平台。它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 首先我们去它的官网下载 1....
  • node.js和npm的关系

    千次阅读 2018-12-18 15:04:09
    一、npm是什么 当一个网站依赖的js代码越来越多,程序员发现这是一件很麻烦的事情: 去 jQuery 官网下载 jQuery  去 BootStrap 官网下载 BootStrap  去 Underscore 官网下载 Underscore  …… 有些程序员就受不...
1 2 3 4 5 ... 20
收藏数 418,843
精华内容 167,537
关键字:

node.js是什么