如何在 Linux 中编写您的第一个 Node.js 应用程序如何在 Linux 中编写您的第一个 Node.js 应用程序如何在 Linux 中编写您的第一个 Node.js 应用程序如何在 Linux 中编写您的第一个 Node.js 应用程序
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Linux 中编写您的第一个 Node.js 应用程序

发表 admin at 2025年2月28日
类别
  • 未分类
标签

在过去的几年里,Web 开发趋势发生了巨大的变化,作为一名 Web 开发人员,要想在游戏中处于领先地位,保持最新技术的更新非常重要。

JavaScript 是当前流行的编程语言;毫无疑问,它是全栈开发人员使用的最流行的技术。

JavaScript Web 框架已成为更快 Web 开发的神奇解决方案,具有绝对的效率、安全性和最小化的成本。我确信您听说过 Node JavaScript(通常称为 Node.js 或简称为 Node),并且有很多关于它的讨论在互联网上。

在本文中,我将向您展示如何开始在 Linux 中使用 Node.js 在 JavaScript 中开发应用程序。但首先,让我们简要介绍一下 Node.js。

什么是 Node.js?

Node.js 是一个基于 Chrome V8 JavaScript 引擎构建的开源、轻量级且高效的 JavaScript 运行时。它的设计没有线程(单线程),并且具有与 Twisted 类似的实现,Twisted 是使用 Python 构建的网络引擎或 Event Machine(Ruby 程序的事件处理库)。

Node.js 的核心基于事件驱动编程;因此,程序员应该了解哪些事件可用以及如何响应它们。

Node.js 下的包管理

Node.js 使用JavaScript包管理器和名为“npm”的生态系统,其中包含大量免费开源库。它支持模块化软件开发。您可以使用它来安装节点包、共享、分发代码以及管理包依赖项。

为什么 Node.js 很重要?

Node.js 功能强大且非常重要,原因如下:

  • 它使用异步事件驱动、非阻塞 I/O 执行模型,可提高应用程序的吞吐量并支持实际 Web 应用程序的可扩展性。
  • 它是单线程的,因此在任何给定时间只能使用 1 个 CPU。
  • Node.js Web 应用程序是一个完整的 Web 服务器,例如 Nginx 或 Apache。
  • 它通过 child_process.fork() API 支持线程,用于生成子进程,并且还提供集群模块。

有了这个简短的介绍,您一定渴望编写您的第一个 JavaScript 程序。但是,首先,您需要使用以下指南在 Linux 系统上安装 Node.js 和 NPM 软件包。

  1. 在 Linux 系统中安装最新的 Nodejs 和 NPM 版本

如何在 Linux 中创建您的第一个 Node.js 应用程序

安装Node.js后,您就可以开始了。首先创建一个用于存储应用程序文件的目录。

sudo mkdir -p /var/www/myapp

然后进入该目录并为您的应用程序创建一个 package.json 文件。该文件可作为项目的小文档:项目名称、作者、它所依赖的包列表等等。

cd /var/www/myapp
npm init

这将询问您一些问题,只需按如下所述回答,然后按[Enter]。请注意,package.json 中最重要的内容是名称和版本字段,如下所述。

  • 包名称 – 您的应用程序名称,默认为目录名称。
  • 版本 – 您的应用程序的版本。
  • 描述 – 为您的应用编写简短的描述。
  • 入口点 – 设置要执行的默认包文件。
  • 测试命令 – 用于创建测试脚本(默认为空脚本)。
  • git 存储库 – 定义一个 Git 存储库(如果有的话)。
  • 关键字 – 设置关键字,这对于其他用户在 npm 上识别您的包很重要。
  • 作者 – 指定作者姓名,请在此处输入您的名字。
  • 许可证 – 为您的应用/包指定许可证。

接下来,创建一个 server.js 文件。

sudo vi server.js

将下面的代码复制并粘贴到其中。

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

接下来,使用以下命令启动您的应用程序。

node server.js
OR
npm start

接下来,打开 Web 浏览器并访问您的 Web 应用程序,该应用程序除了打印字符串 ”Hello world! 之外什么也不做。 ”,使用地址:

http://localhost:3333

在上面的代码中,正在处理的主要事件是通过 HTTP 模块 发出的 HTTP 请求。

Nodejs HTTP 模块

在 Node.js 中,模块更像是 JavaScript 库,它们包含可以在应用程序中重用的函数。您可以使用内置模块、三十方模块或创建您自己的模块。

要调用应用程序中的模块,请使用 require 函数,如图所示。

var http = require('http');

一旦包含 http 模块,它将创建一个侦听特定端口(本例中为 3333)的服务器。 http.creatServer 方法创建实际的 http 服务器,该服务器接受一个函数(当客户端尝试访问该应用程序时调用该函数)作为参数。

http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);

http.createServer 中的函数有两个参数:req(request) 和 res(response)。 req 参数是来自用户或客户端的请求,res 参数向客户端发送回复。

res.writeHead(200, { 'Content-Type': 'text/plain' });		#This is a response HTTP header
res.end('Hello World!');

服务器启动后,代码的最后部分将输出发送到控制台。

console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Node.js 中的路由

在本节中,我将解释 Node.js 编程中最重要的概念之一,称为路由(类似于计算机网络下的路由:寻找流量路径的过程)在网络中)。

这里,路由是一种处理客户端请求的技术;提供客户端请求的内容(如 URL 中指定)。 URL 由路径和查询字符串组成。

要查看客户端的请求查询字符串,我们可以在响应中添加以下行。

res.write(req.url);
res.end()

以下是新代码。

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.write(req.url);
      res.end();		
      }).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

保存文件并使用以下命令再次启动您的应用程序。

node server.js
OR
npm start

在 Web 浏览器中,键入不同的 URL,将显示如下所示的 URL。

http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors

现在,我们将为 Tecmint 创建一个非常小的网站,其中包含主页、关于页面和作者页面。我们将在这些页面上显示一些信息。

打开 server.js 文件进行编辑,并在其中添加以下代码。

//include http module 
var http = require('http');

http.createServer(function(req,res){
	//store URL in variable q_string

	var q_string = req.url;
	switch(q_string) {
		case '/':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Welcome To linux教程!')
                        	res.end();
                        	break;
                	case '/about':
                		res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('About Us');
                        	res.write('\n\n');
                        	res.write('linux教程 - Best Linux HowTos on the Web.');
                        	res.write('\n');
                        	res.end('Find out more: https://linux教程/who-we-are/');
                        	break;
                	case '/tecmint/authors':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Tecmint Authors');
                        	res.write('\n\n');
                        	res.end('Find all our authors here: https://linux教程/who-we-are/');
                        	break;
                	default:
                       		res.writeHead(404, { 'Content-Type': 'text/plain' });
                       		res.end('Not Found');
                        	break;
	}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');

在上面的代码中,我们了解了如何使用 // 字符在 Node.js 中编写注释,并介绍了用于路由客户端请求的 switch 和 case 语句。

保存文件,启动服务器并尝试访问各个页面。

现在就是这样!您可以在 Nodejs 和 NPM 网站上找到更多信息。

另请阅读:如何安装 PM2 以在 Linux 上运行 Node.js 应用程序

结论

Node.js 今天已升至新高,它使全栈开发变得比以前容易得多。它独特的事件驱动编程理念使您能够创建闪电般快速、高效且可扩展的 Web 流程和服务器。

接下来,我们将解释 Node.js 框架,该框架扩展了其本机功能,可以快速可靠地开发 Web/移动应用程序。请通过下面的评论部分分享您对本文的看法。

©2015-2025 Norria support@norria.com