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

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 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。