手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2019-01-25] 来源:Linux公社  作者:醉落红尘 [字体: ]

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类似,后者是一个使用Python或Event Machine构建的网络引擎,这是一个用于Ruby程序的事件处理库。

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

Node.js下的包管理

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

为什么Node.js很重要?

Node.js是一个强大的,因此很重要,原因如下:

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

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

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

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

$ sudo mkdir -p /var/www/myapp

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

然后进入该目录并为您的应用程序创建package.json文件。 此文件有助于作为项目的小文档:项目名称,作者,依赖的包列表等。

$ cd /var/www/myapp
$ npm init

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

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

  • package name - 您的应用名称,默认为目录名称。
  • version - 您的应用程序的版本。
  • description - 为您的应用编写简短说明。
  • entry point - 设置要执行的默认包文件。
  • test command - 用于创建测试脚本(默认为空脚本)。
  • git repository  - 定义一个Git存储库(如果有的话)。
  • keywords - 设置关键字,对于其他用户在npm上识别您的包很重要。
  • author - 指定作者姓名,在此处输入您的姓名。
  • license - 为您的应用/包指定许可证。

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

$ sudo nano server.js

复制并粘贴下面的代码。

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

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

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

$ node server.js

或者

$ npm start

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

接下来,打开Web浏览器并访问您的Web应用程序,该应用程序将打印字符串“Hello World!www.linuxidc.com”,使用地址:

http://localhost:8080

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

从浏览器访问Nodejs应用程序

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

Nodejs HTTP模块

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

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

var http = require('http');

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

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

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

res.writeHead(200, { 'Content-Type': 'text/plain' });  #这是响应HTTP标头
res.end('Hello World!www.linuxidc.com');

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

console.log('Server started on localhost:8080; 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(8080);
console.log('Server started on localhost:8080; press Ctrl-C to terminate...!');

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

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

$ node server.js

或者

$ npm start

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

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

查看客户的应用程序请求

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

打开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('欢迎光临www.linuxidc.com!')
                         res.end();
                         break;
                 case '/aboutus':
                  res.writeHead(200, { 'Content-Type': 'text/plain' });
                         res.write('关于Linux公社');
                         res.write('\n\n');
                         res.write('Linux公社(www.linuxidc.com)是专业的Linux系统门户网站!');
                         res.write('\n');
                         res.end('了解更多: https://www.linuxidc.com/aboutus.htm');
                         break;
                 case '/contactus:
                         res.writeHead(200, { 'Content-Type': 'text/plain' });
                         res.write('联系我们');
                         res.write('\n\n');
                         res.end('联系我们: https://www.linuxidc.com/contactus.htm');
                         break;
                 default:
                        res.writeHead(404, { 'Content-Type': 'text/plain' });
                        res.end('Not Found');
                         break;
 }
}).listen(1688);
console.log('Server started on localhost:1688; press Ctrl-C to terminate....');

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

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

OK!你可以在NodejsNPM网站上找到更多信息。

总结

Node.js在今天达到了新的高度,它使得全栈开发比以前容易多了。事件驱动编程的独特哲学使您能够快速、高效和可伸缩地创建web流程和服务器。

接下来,我们有空将再讲述Nodejs架,它扩展了自己的原生功能,可以快速可靠地开发Web/移动应用程序。请通过下面的评论部分分享您对本文的看法。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-01/156561.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款