📜  NodeJS简介

📅  最后修改于: 2021-05-20 07:37:24             🧑  作者: Mango

简介: Node.js是一个开放源代码和跨平台的运行时环境,用于在浏览器外部执行JavaScript代码。您需要记住, NodeJS不是框架,也不是编程语言。大多数人感到困惑,并且理解它是框架还是编程语言。我们经常使用Node.js来构建后端服务,例如Web App或Mobile App之类的API。 Paypal,Uber,Netflix,Wallmart等大型公司已将其用于生产。

NodeJS的功能:

我们还可以使用其他编程语言来构建后端服务,因此,我将解释Node.js的与众不同之处。

  1. 它易于入门,可用于原型设计和敏捷开发
  2. 它提供快速且高度可扩展的服务
  3. 它到处都使用JavaScript,因此JavaScript程序员可以很容易地使用Node.js构建后端服务
  4. 源代码更加简洁一致。
  5. 开源库的大型生态系统。
  6. 它具有异步或非阻塞性质。

NodeJS的优势:

这是使用Node.js的好处

  1. 易于扩展:开发人员更喜欢使用Node.js,因为它可以轻松地在水平和垂直方向上扩展应用程序。我们还可以在应用程序的可伸缩性期间添加额外的资源。
  2. 实时Web应用程序:如果您正在构建Web应用程序,则还可以使用PHP,并且使用Node.js所花费的时间相同。但是,如果我谈论的是构建聊天应用程序或游戏应用程序,Node.js则很多由于同步速度更快,因此更可取。而且,事件循环避免了Node.js开发的HTTP重载。
  3. 快速套件: NodeJs在Google开发的V8引擎上运行。 NodeJ中的事件循环可处理所有异步操作,因此NodeJ的作用类似于快速套件,并且所有操作都可以快速完成,例如在数据库,网络连接或文件系统中进行读取或写入
  4. 易于学习和编码: NodeJs易于学习和编码,因为它使用JavaScript。如果您是前端开发人员并且对JavaScript有很好的了解,则可以轻松地在NodeJS上学习和构建应用程序
  5. 缓存的优点:提供单个模块的缓存。每当对第一个模块有任何请求时,它都会被缓存在应用程序内存中,因此您无需重新执行代码。
  6. 数据流:在NodeJ中,HTTP请求和响应被视为两个单独的事件。它们是数据流,因此当您在加载文件时处理文件时,它将减少总时间,并且在以传输形式显示数据时,它会更快。它还允许您以闪电般的速度流式传输音频和视频文件。
  7. 托管: PaaS(平台即服务)和Heroku是NodeJS应用程序部署的托管平台,易于使用,不会遇到任何问题。
  8. 企业支持: Wallmart,Paypal,Mirosoft和yahoo等大多数知名公司都在使用NodeJS来构建应用程序。 NodeJS使用JavaScript,因此大多数公司将前端和后端团队组合到一个单元中。

NodeJS的应用:

应该优先使用NodeJS来构建:

  • 实时聊天,
  • 复杂的单页应用程序
  • 实时协作工具,
  • 流媒体应用
  • 基于JSON API的应用程序

安装节点并使用它:

  • 使用网站:
    1. 您可以访问下载节点链接并下载LTS版本。
    2. 安装节点后,可以使用command。在命令提示符下检查节点版本。
      ~ $node --version
    3. 之后,您可以仅创建一个文件夹并在此处添加文件,例如app.js。要运行此文件,您需要执行命令…
      first app $node app.js
    4. 节点模块:您可以使用一些内置模块来创建应用程序。一些流行的模块是-OS,fs,事件,HTTP,URL,然后您可以使用这些行将这些模块包括在文件中。
      var fs = require('fs');
    5. 这是一个如何包含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