简介: Node.js是一个开放源代码和跨平台的运行时环境,用于在浏览器外部执行JavaScript代码。您需要记住, NodeJS不是框架,也不是编程语言。大多数人感到困惑,并且理解它是框架还是编程语言。我们经常使用Node.js来构建后端服务,例如Web App或Mobile App之类的API。 Paypal,Uber,Netflix,Wallmart等大型公司已将其用于生产。
NodeJS的功能:
我们还可以使用其他编程语言来构建后端服务,因此,我将解释Node.js的与众不同之处。
- 它易于入门,可用于原型设计和敏捷开发
- 它提供快速且高度可扩展的服务
- 它到处都使用JavaScript,因此JavaScript程序员可以很容易地使用Node.js构建后端服务
- 源代码更加简洁一致。
- 开源库的大型生态系统。
- 它具有异步或非阻塞性质。
NodeJS的优势:
这是使用Node.js的好处
- 易于扩展:开发人员更喜欢使用Node.js,因为它可以轻松地在水平和垂直方向上扩展应用程序。我们还可以在应用程序的可伸缩性期间添加额外的资源。
- 实时Web应用程序:如果您正在构建Web应用程序,则还可以使用PHP,并且使用Node.js所花费的时间相同。但是,如果我谈论的是构建聊天应用程序或游戏应用程序,Node.js则很多由于同步速度更快,因此更可取。而且,事件循环避免了Node.js开发的HTTP重载。
- 快速套件: NodeJs在Google开发的V8引擎上运行。 NodeJ中的事件循环可处理所有异步操作,因此NodeJ的作用类似于快速套件,并且所有操作都可以快速完成,例如在数据库,网络连接或文件系统中进行读取或写入
- 易于学习和编码: NodeJs易于学习和编码,因为它使用JavaScript。如果您是前端开发人员并且对JavaScript有很好的了解,则可以轻松地在NodeJS上学习和构建应用程序
- 缓存的优点:提供单个模块的缓存。每当对第一个模块有任何请求时,它都会被缓存在应用程序内存中,因此您无需重新执行代码。
- 数据流:在NodeJ中,HTTP请求和响应被视为两个单独的事件。它们是数据流,因此当您在加载文件时处理文件时,它将减少总时间,并且在以传输形式显示数据时,它会更快。它还允许您以闪电般的速度流式传输音频和视频文件。
- 托管: PaaS(平台即服务)和Heroku是NodeJS应用程序部署的托管平台,易于使用,不会遇到任何问题。
- 企业支持: Wallmart,Paypal,Mirosoft和yahoo等大多数知名公司都在使用NodeJS来构建应用程序。 NodeJS使用JavaScript,因此大多数公司将前端和后端团队组合到一个单元中。
NodeJS的应用:
应该优先使用NodeJS来构建:
- 实时聊天,
- 复杂的单页应用程序
- 实时协作工具,
- 流媒体应用
- 基于JSON API的应用程序
安装节点并使用它:
- 使用网站:
- 您可以访问下载节点链接并下载LTS版本。
- 安装节点后,可以使用command。在命令提示符下检查节点版本。
~ $node --version
- 之后,您可以仅创建一个文件夹并在此处添加文件,例如app.js。要运行此文件,您需要执行命令…
first app $node app.js
- 节点模块:您可以使用一些内置模块来创建应用程序。一些流行的模块是-OS,fs,事件,HTTP,URL,然后您可以使用这些行将这些模块包括在文件中。
var fs = require('fs');
- 这是一个如何包含HTTP模块来构建服务器的示例……
var http = require('http'); // Create a server object: http.createServer(function (req, res) { // Write a response to the client res.write('GeeksForGeeks'); // End the response res.end(); // The server object listens on port 8080 }).listen(8080);
这将侦听端口8080上的服务器。一旦您在命令提示符下运行文件,它将执行您的文件并在此端口上侦听服务器。您也可以创建自己的模块并将其包含在文件中。
- 使用NPM: NPM是一个节点程序包管理器,提供要下载和使用的程序包。它包含您在应用程序中所需的所有文件和模块。要安装任何软件包,您需要执行命令…
npm install
我将展示一个使用“事件”模块的示例。
var events = require('events'); var eventEmitter = new events.EventEmitter(); // Create an event handler: var myEventHandler = function () { console.log('Welcome to GeeksforGeeks'); } // Assign the event handler to an event: eventEmitter.on('geeks', myEventHandler); // Fire the 'geeks' event: eventEmitter.emit('geeks');
因此,这就是从节点开始并构建自己的应用程序的方式。您可以使用节点的一些框架来构建应用程序。一些流行的节点框架是…… Express.js,Socket.io,Koa.js, Meteor.js,Sail.js 。