2019年Node.js快速指南

介绍

什么是Node.js?

Node.js既是开源的又是免费的,并且用于多种目的。仅举几例,Node.js在提供动态内容方面非常有效。如果您想要一种快速有效的方式来建立和运行博客,Node.js可以简化此过程。大多数基于Web的开发人员都可以使用基于JavaScript的Node.js,他们希望执行服务器端操作而不必学习全新的语言。Node.js的内存效率也很高,可以异步处理所有请求,并且附带的包管理器可以访问世界上最大的存储库。

好处

Node.js具有多个优点,例如:

  • 本机支持异步任务。例如,当用户向Node.js编写的脚本发出请求时,Node.js在处理当前请求的同时仍可用于新请求。
  • 支持大多数Linux发行版,并具有大量预编写的软件包供您使用。
  • 具有您需要内置的大多数基本功能。这包括编辑,移动或删除文件的功能;以及与MySQL,MongoDB和许多其他事物进行交互,而无需使用随附的包管理器。
  • 使用世界上最大的软件包存储库:npm
  • 与JavaScript类似的代码语法。Node.js本质上是服务器端JS。

缺点

但是不幸的是,Node.js确实有很多缺点:

  • 由于它是一种相对较新的语言,与PHP之类的东西相比,它的代码库经常更新。这意味着您使用的调用或方法可能无法在Node.js的先前版本中���用。
  • Node.js可能偶尔需要花费更长的时间来编写代码,因为它不容易使用其他库。例如,ImageMagick是一个流行的PHP库,Node.js不支持该库。
  • 与Java不同,异常难以实现。这意味着,如果您有一个数千行的JS文件,几乎不可能在代码中发现错误。

使用Node.js

先决条件

  • 安装了任何现代版本的Ubuntu,CentOS或Debian。本文将仅介绍CentOS的安装过程。
  • 至少256 MB RAM。请注意���此数字取决于您将要运行的应用程序。
  • 对于本教程,您还需要一个文本编辑器,例如Vim或Nano。

安装节点

更新您的包裹管理器:

yum update -y

安装Node.js:

yum install nodejs -y

如果提示您导入密钥,请输入Y以继续。

确保安装成功:

node -v
npm -v

基本文件类型约定

所有Node.js文件都必须以结尾.js。例如,可以调用一个简单的二次求解器Quadratic.js。话虽如此,只要满足第一个要求,您就可以随意命名。

API

编程语言通常都API可用,Node.js也不例外。如果您迷路或需要查找函数(或方法)的语法,请查看Node.js docs

注意: 如前所述,Node.js的代码库会不断更新,因此,此处的功能可能在更高版本中不再起作用。

创建第一个程序

你好,世界!

在本节中,我们将学习您可以创建的最基本的程序。首先,请前往/~/root。创建第一个项目就像创建JS文件一样简单:

nano HelloWorld.js

进入您喜欢的文本编辑器后,输入以下内容:

// For reference, comments are made using '//' added before or after a line. Comments are ignored by the Node.js interpreter.
console.log("Hello, world!"); // console.log() simply outputs text to the terminal.

退出并保存。

现在,启动您的程序:

node HelloWorld.js

您将看到以下输出:

[root@test-server ~]# node HelloWorld.js
Hello, world!

简单的数学和变量

在本节中,我们将学习如何执行基本的数学运算。首先,/root再次进入目录并创建一个名为的文件MathTest.js

nano MathTest.js 

将以下代码粘贴到文件中:

var a = 5; // Variables are declared using 'var variableName = value'. The value can be a string, integer, boolean value (ie. true/false) or an object. 
var b = 10;
var c = "Hello, world!";

console.log(c); // This line will output the contents of variable c.
console.log("a = " + a + ", b = " + b); // This line prints out the respective values for a & b.
console.log("a + b = " + (a + b)); // This line prints out the result of (a + b) or (5 + 10). The result should be 15.

保存并退出。

执行MathTest.js程序时,您将看到以下内容:

[root@test-server ~]# node MathTest.js
Hello, world!
a = 5, b = 10
a + b = 15

启动我们的第一个Web服务器

在本节中,我们将学习如何启动Node.js Web服务器。首先,创建一个名为的文件WebTest.js

nano WebTest.js

粘贴以下代码:

 // This line includes the HTTP module. Having it included allows us to use it's methods and functions to start a working webserver.
var http = require("http");
var a = 5, b = 10; 

http.createServer(function (request, response) {
    // This will simply output "Request received!" to your terminal when you visit your page.
    console.log("Request received!");

    // This line tells your browser that it should be expecting HTML content to be returned.
    response.writeHead(200, {'Content-Type': 'text/html'}); 

    // The following line adds "Hello, world! a + b = 15" to the body. The <i></i> tags will italicize the text. 
    response.write("<i>Hello, world! a + b = " + (a + b) + "</i>"); 

    // Finally, we'll tell the browser that we're done sending data with 'response.end()' below.
    response.end(); 
}).listen(8080);

保存文件后,运行新程序:

[root@test-server ~]# node WebTest.js

现在,访问http://(YOUR_SERVER_IP):8080。确保正确配置防火墙以允许请求。

您将Request received!在终端和浏览器中看到以下内容:

Hello, world! a + b = 15

注意: 为了关闭(关闭)WebTest.js,请使用以下组合键:CTRL+ C

现在您已经了解了一些基础知识,以下部分将向您介绍使用通过安装的第3方模块npm

安装第三方模块并在程序中使用它

在本部分中,我们将扩展我们的第一个“世界,您好!” 程序。首先,我们将安装一个名为colo的软件包。此包装允许我们在终端上使用颜色。

首先,我们将使用npm安装软件包:

npm i colo  

作为参考,您可以使用 npm remove colo

该过程完成后,您将可以访问该colo软件包。现在,打开HelloWorld.js后,在顶部添加以下行:

var colour = require("colo");

在您看到的地方console.log(...),封装“您好,世界!” 带括号。在方括号的开头,添加colour.red.bold

console.log(colour.red.bold("Hello, world!"));

您的最终代码将如下所示:

var colour = require("colo");
console.log(colour.red.bold("Hello, world!"));

保存,退出并运行程序。输出将与以前完全相同,除了“ Hello,world!”。现在在您的终端中将变为红色(加粗)。

结束语

祝贺您完成了所有基本程序。这应该为您提供知识(至少大部分),以解释其他教程中使用的代码。希望您不会在这里停留,Node.js可以做很多其他事情!

如果发现Node.js不是您要使用的语言,则删除它非常简单,如下所示:

yum remove nodejs -y


Leave a Comment

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

如何在Debian 9上安装GruntJS

如何在Debian 9上安装GruntJS

GruntJS是在NodeJS之上编写的JavaScript任务运行程序。它可以用于为您的应用程序自动执行重复任务,如缩小,编译

在Ubuntu 14上安装Adonis.js

在Ubuntu 14上安装Adonis.js

简介Adonis.js是一个用于NodeJ的MVC框架,使您可以用更少的代码编写Web应用程序。它借鉴了其他可靠框架的概念

如何在Ubuntu 16.04 LTS上设置Koa.js节点应用程序

如何在Ubuntu 16.04 LTS上设置Koa.js节点应用程序

在本教程中,我们将学习如何使用Node.js设置Koa.js Web应用程序进行生产。我们还将链接一个示例域,

在Ubuntu 18.04 LTS上设置Nuxt.js Web应用程序

在Ubuntu 18.04 LTS上设置Nuxt.js Web应用程序

Nuxt.js:通用框架Nuxt.js是一个JavaScript框架,旨在快速创建通用Vue.js应用程序。它是最著名的

在Ubuntu上安装Node.js和Express

在Ubuntu上安装Node.js和Express

由Chrome V8引擎提供支持的Node.js是一种流行的语言,用于构建快速可扩展的应用程序。它已经推动了许多项目,包括

在Ubuntu 14.04上从源代码安装Node.js

在Ubuntu 14.04上从源代码安装Node.js

安装构建工具将需要一些工具。运行以下命令:apt-get install make g ++ libssl-dev git下载Node.js源代码i

使用Docker部署Node.js应用程序

使用Docker部署Node.js应用程序

本文将向您展示如何在Docker容器中部署Node应用程序。注意:本教程假定您已安装Docker并已阅读

使用Ops将Javascript Unikernels部署到Vultr

使用Ops将Javascript Unikernels部署到Vultr

将Javascript Unikernels部署到Vultr Unikernels是单应用程序操作系统。与Linux等通用操作系统不同,unikernel

在Ubuntu上部署Meteor应用程序

在Ubuntu上部署Meteor应用程序

本文将引导您完成将Meteor应用程序部署到运行Ubuntu 14.04的Vultr VPS的过程。它也可以在其他Linux发行版上运行(尝试

在Ubuntu 14.04上具有Ghost的Nginx反向代理

在Ubuntu 14.04上具有Ghost的Nginx反向代理

Ghost是一个使用node.js编写的免费开源博客平台,完全可自定义且专用于发布。准备服务器:Updat

在Ubuntu 16.04上使用Node.js创建Hapi.js Web应用程序

在Ubuntu 16.04上使用Node.js创建Hapi.js Web应用程序

Hapi.js是一个丰富,强大且功能强大的Node.js框架,旨在在Node.js生态系统中构建Web应用程序。简单明了的设计使我

在Ubuntu 14.04上通过Node Version Manager安装Node.JS

在Ubuntu 14.04上通过Node Version Manager安装Node.JS

使用节点版本管理器(NVM)轻松安装和管理任何版本的Node.JS。NVM与Rubys RVM相似,允许您安装和切换

如何在Fedora 25上部署Ghost

如何在Fedora 25上部署Ghost

使用其他系统?自2013年发布以来,Ghost是一个开源博客平台,在开发人员和普通用户中越来越受欢迎。一世

如何在Ubuntu 16.04 LTS上使用Express.js创建Node.js RESTful API

如何在Ubuntu 16.04 LTS上使用Express.js创建Node.js RESTful API

在本教程中,您将学习如何设置完整的RESTful API,该API将使用Node.js和Express服务于HTTP请求,同时反向代理它。

设置Sails.js以在CentOS 7上进行开发

设置Sails.js以在CentOS 7上进行开发

使用其他系统?简介Sails.js是Node.js的MVC框架,类似于Ruby on Rails。它使开发现代应用程序版本成为可能

设置Sails.js以在Ubuntu 14上进行开发

设置Sails.js以在Ubuntu 14上进行开发

使用其他系统?简介Sails.js是Node.js的MVC框架,类似于Ruby on Rails。它使开发现代应用程序版本成为可能

如何在Ubuntu 16.04上安装Strapi

如何在Ubuntu 16.04上安装Strapi

简介Strapi是一个开源NodeJS内容管理框架,致力于构建安全且可扩展的生产就绪API应用程序,并

如何在CentOS 7上安装NodeBB

如何在CentOS 7上安装NodeBB

NodeBB是一个现代的,开源的,基于NodeJS的论坛软件。考虑到客户,NodeBB为社区所有者提供了强大的功能和易用性。

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息