Node.js基础用法有哪些

2023-01-29 09:14:50

Node.js是一种开源免费的运行环境,可用于多种用途。Node.js特别适用于动态内容的生成,可以快速地搭建一个博客网站。Node.js基于开发者非常熟悉的JavaScript语言,因此开发者不需要学习一门新语言。Node.js还提供程序包管理器npm,可获取全球最大的组件库。

除此之外,Node.js还有以下优势:

  • 原生支持异步请求。当一个用户发起Node.js脚本的请求时,Node.js可以继续处理新的请求,而不需要等待当前请求完成。

  • 支持大部分Linux操作系统。

  • 集成了很多基础功能。比如编辑和删除文件,连接MySQLMongoDB数据库等。

Node.js也存在以下劣势:

  • 由于Node.js是一种相对新式的语言,相比PHP这种非常成熟的语言,Node.js的代码库更新频率很快。这就导致随着Node.js版本的更新,原先写的一些代码会很快过时。

  • 对于有些功能,Node.js会比其他语言要花费较多的时间来编写代码,因为缺少某些流行的组件库。比如PHP可以良好支持图像处理组件ImageMagick,但Node.js目前无法支持ImageMagick。

  • 相比Java语言,Node.js难以调试异常处理。如果面对一个有几千行的JavaScript文件,一旦出现异常就很难定位异常所在的代码行。

Node.js基础用法

Node.js可以安装在Ubuntu、Debian或CentOS操作系统上,至少需要256MB的内存。这里以CentOS云服务为例,讲解Node.js的基础用法。

使用以下命令安装Node.js:

yum install nodejs -y

安装成功后,我们查看Node.js和程序包管理器的版本:

node -v npm -v

示例1:Hello, World!

在这个示例中,我们将开发一个最基本的程序Hello, World!。

创建一个名为HelloWorld.js的文件。

vi HelloWorld.js

内容如下:

console.log("Hello, world!");

保存退出后,运行这个文件。

node HelloWorld.js

输出结果如下:

Hello, world!

示例2:变量计算

在这个示例中,我们学习基本的数学运算。

创建一个名为MathTest.js的文件。

vi MathTest.js

内容如下:

var a = 5var b = 10; var c = "Hello, world!"; console.log(c);  console.log("a = " + a + ", b = " + b);  console.log("a + b = " + (a + b));

保存退出后,运行这个文件。

node MathTest.js

输出结果如下:

Hello, world! a = 5, b = 10 a + b = 15

示例3:创建Web服务

在这个示例中,我们学习如何创建一个Node.js的Web服务器。

创建一个名为WebTest.js的文件。

vi WebTest.js

内容如下:

var http = require("http");
var a = 5, b = 10; 

http.createServer(function (request, response) {
    console.log("Request received!");
    response.writeHead(200, {'Content-Type''text/html'}); 
    response.write("<i>Hello, world! a + b = " + (a + b) + "</i>"); 
    response.end(); 
}).listen(8080);

保存退出后,运行这个文件。

node WebTest.js

然后访问 http://IP:8080 (请确保防火墙已开启了8080端口),浏览器页面输出如下:

Hello, world! a + b = 15

注意:我们可以用快捷键Ctrl + C停止Web服务器。

示例4:安装第三方组件库

以上是Node.js的基本用法,下面介绍如何通过npm来安装并使用第三方组件库。我们将扩展Hello, world!的示例程序,并且安装一个名为colo的第三方组件,这个组件可以改变我们终端的颜色。

使用以下命令安装colo:

npm i colo

安装完成后,编辑我们第一次创建的HelloWorld.js文件,内容如下:

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

保存退出后,运行这个文件。可以看到Hello, world!变成了红色且加粗了。