node.js 入门案例 安装教程

前言

Node.js是一个基于Chrome JavaScript 运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

可以让JavaScript在服务器端运行。它具有轻量级、高效、事件驱动、非阻塞I/O等特点,被广泛应用于Web应用程序、命令行工具、后端服务等领域。

一. Node.js的特点

Node.js是一个基于Chrome V8引擎的JavaScript运行环境。它的特点包括:

1)异步非阻塞I/O:Node.js基于事件驱动,采用异步非阻塞的I/O模型,能够处理大量并发请求而不会阻塞。

2)跨平台:Node.js可以在Windows、Linux、Mac OS等多个平台上运行,具有很强的跨平台特性。

3)轻量高效:Node.js采用事件驱动、单线程模型,内置的事件循环机制使得它非常高效。

4)丰富的模块:Node.js拥有丰富的模块库,可以通过npm(Node Package Manager)轻松安装、管理各种模块。

5)可扩展性:Node.js具有丰富的模块和插件,可以方便地扩展其功能。

1. Node.js的模块系统

Node.js的模块系统是基于CommonJS规范实现的。每个Node.js模块都是一个独立的文件,可以通过require()函数引入其他模块,通过exports对象导出模块中的函数和变量。

2. Node.js的事件驱动和非阻塞I/O

Node.js采用事件驱动和非阻塞I/O的编程模型,可以同时处理多个并发连接,提高系统的并发性能。

二、安装Node.js

1. 在Windows系统上安装Node.js

(1)访问Node.js官网,下载Windows版本的安装包。

(2)运行安装包,按照提示完成安装。

(3)打开命令提示符窗口,输入node -v命令,查看Node.js的版本号,如果显示版本号,则说明Node.js已经安装成功。

C:\Users\lhc-Administrator>node -v
v14.16.0

C:\Users\lhc-Administrator>

2. 在Linux系统上安装Node.js

(1)使用sudo apt-get install nodejs命令安装Node.js。

(2)使用sudo apt-get install npm命令安装npm包管理器。

(3)打开终端窗口,输入node -v命令,查看Node.js的版本号,如果显示版本号,则说明Node.js已经安装成功。

三、使用Node.js

1. 第一个Node.js应用程序

打开文本编辑器,输入以下代码:

// app.js

console.log('Hello World');

将文件保存为app.js。在命令提示符窗口中,进入文件所在的目录,输入node app.js命令,即可运行Node.js应用程序。

程序执行后,正常的话,就会在终端输出 Hello World

2. 使用模块

Node.js的模块系统可以让我们方便地引入其他模块。创建一个名为math.js的模块,输入以下代码:

// math.js 文件

exports.add = function(x, y) {

return x + y;

}

exports.subtract = function(x, y) {

return x - y;

}

在另一个文件中,引入math.js模块,并使用其中的函数。创建一个名为app.js的文件,输入以下代码:

// app.js 文件

var math = require('./math');

console.log(math.add(1, 2));

console.log(math.subtract(5, 3));

在命令提示符窗口中,进入文件所在的目录,输入node app.js命令,即可运行Node.js应用程序。

3. 使用http模块创建Web服务器

Node.js 最常见的 Hello World 示例是一个 Web 服务器:

Node.js的http模块可以让我们方便地创建Web服务器。创建一个名为server.js的文件,输入以下代码:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

在命令提示符窗口中,进入文件所在的目录,输入node server.js命令,即可启动Web服务器。在浏览器中访问http://localhost:3000/,即可看到Web服务器返回的Hello World消息。

总结

Node.js是一种基于Chrome V8引擎的JavaScript运行环境的一个平台,可以让JavaScript在服务器端运行。Node.js具有轻量级、高效、事件驱动、非阻塞I/O等特点,被广泛应用于Web应用程序、命令行工具、后端服务等领域。我们可以通过安装Node.js并使用其模块系统、事件驱动和非阻塞I/O等特性,编写Web服务器、命令行工具等应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/501819.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络安全--内网篇

一、环境 一个简单的域环境,3台机器即可,一个server2012,win7,,win10 二、开始初始的认识内网 在我们日常渗透中,我们进入企业去进行渗透的时候都是处于一个域的环境下,简单来说域一类网络服务而在服务器…

HarmonyOS实战开发-如何实现一个自定义抽奖圆形转盘

介绍 本篇Codelab是基于画布组件、显式动画,实现的一个自定义抽奖圆形转盘。包含如下功能: 通过画布组件Canvas,画出抽奖圆形转盘。通过显式动画启动抽奖功能。通过自定义弹窗弹出抽中的奖品。 相关概念 Stack组件:堆叠容器&am…

JavaScript基础语法–详谈

JavaScript的编写方式 这里小编写一个简单代码,展示JavaScript三种编写方式 HTML代码行内(可以理解为内联样式) a.第一种方式 一个123的网址,通过点击实现浏览器显示welcome字样提升(与浏览器进行交互)…

【AI模型-机器学习工具部署】远程服务器配置Jupyter notebook或jupyter lab服务

随着AI人工智能的崛起,机器学习、深度学习、模型训练等技术也慢慢泛化,java开发有idea,web开发有vscode,那么AI开发神器肯定离不开jupyter lab(基础版jupyter notebook) Jupyter notebook部署 1. 安装jupy…

基于Python实现多功能翻译助手(上)

创建一个支持多种语言翻译并且允许通过文件拖拽来输入文本的Python窗口应用程序是一个相对复杂的任务,涉及到多个库和组件。以下是一个简化的指南,展示如何使用Python的Tkinter库创建GUI窗口,结合Googletrans库进行翻译,以及使用P…

第十四章 MySQL

一、MySQL 1.1 MySql 体系结构 MySQL 架构总共四层,在上图中以虚线作为划分。 1. 最上层的服务并不是 MySQL 独有的,大多数给予网络的客户端/服务器的工具或者服务都有类似的架构。比如:连接处理、授权认证、安全等。 2. 第二层的架构包括…

Python连接MySQL

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、整体思路二、连接流程三、表结构及代码实现 一、整体思路 二、连接流程 三、表结构及代码实现 代码块如下: import pymysqlcon pymysql.connect(h…

websocket 局域网 webrtc 一对一 视频通话的实例

基本介绍 使用websocket来 WebRTC 建立连接时的 数据的传递和交换。 WebRTC 建立连接时,通常需要按照以下顺序执行一些步骤: 1.创建本地 PeerConnection 对象:使用 RTCPeerConnection 构造函数创建本地的 PeerConnection 对象,该…

springboot共享单车系统

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于共享单车管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了共享单车管理系统,它彻底改变了过…

【JavaScript算法】DOM树层级显示

题目描述: 上述表达式的输出结果为 [DIV] [P, SPAN, P, SPAN] [SPAN, SPAN]直接上代码 let tree document.querySelector(".a"); function traverseElRoot(elRoot) {const result [];function traverse(element, level) {if (!result[level]) {resul…

跨境电商IP防关联是什么?有什么作用?

做跨境电商的朋友应该都知道IP防关联这个词,那么为何IP需要防关联呢?今天为大家来解答这个问题。 跨境电商IP防关联是指在跨境电商运营中,通过采取一系列技术手段,确保每个跨境电商账号使用独立的IP地址,以避免账号之间因为IP地址…

博鳌观察|对话百度沈抖:丰富的应用场景是中国AI赶超的最大机会

既要仰望星空,更要脚踏实地。在被巨大的技术风口裹挟了一年多后,我们与大模型的“相处方式”越来越清晰了。 3月28日,在博鳌亚洲论坛2024年年会现场,我们与百度集团执行副总裁、百度智能云事业群总裁沈抖进行了一次深度交流。 在…

智慧公厕厂家如何选择?光明源智能科技打造一流智慧公厕项目

在当今城市化进程中,智慧公厕已经成为提升城市品质、改善市民生活的重要一环。然而,要打造一流的智慧公厕项目,选择合适的厂家显得尤为重要。作为行业领军者,光明源智能科技在智慧公厕领域具有丰富的经验和卓越的技术实力。今天&a…

大数据学习-2024/3/29-oracle使用介绍

在plsql中登录ORACLE数据。 默认用户: 1、sys: 角色:数据库超级管理员账户。 权限:具有最高的权限,可以执行任何操作,包括操作数据字典和控制文件。可以创建和删除数据库对象,授予和回收其他用户…

计算机系统基础 5 物理地址的形成

历史 早期,程序员自己管理主存,通过分解程序并覆盖主存的方式执行程序 取指令和存储操作数所有的地址都是物理地址; 执行速度快,无需进行地址转换; 未采用虚拟存储机制。 1961年有人提出自动执行overlay…

Openfeign

Openfeign 相关扩展 在 2020 以前的 SpringCloud 采用 Ribbon 作为负载均衡,但是 2020 年之后,SpringCloud 吧 Ribbon 移除了,而是使用自己编写的 LoadBalancer 替代. 因此,如果在没有加入 LoadBalancer 依赖的情况下&#xff0c…

linux离线安装maven

一、下载maven 地址:Maven – Download Apache Maven 使用root权限用户登录服务器 cd /opt sudo mkdir maven cd maven 二、上传maven 使用Xftp工具 三、解压并配置环境变量 tar -zxvf tar -zxvf apache-maven-3.9.6-bin.tar.gz cd apache-maven-3.9.6/ 看到解压…

AI智能视频剪辑解决方案,便捷的视频制作体验

在数字化时代,视频内容已成为企业宣传、产品展示、品牌塑造不可或缺的重要载体。然而,传统视频剪辑方式往往耗时耗力,效率低下,无法满足企业快速响应市场变化的需求。美摄科技凭借领先的AI技术,推出了一款全新的AI智能…

游戏本笔记本更换@添加内存条实操示例@DDR5内存条

文章目录 添加内存条的意义准备工具设备拔出电源适配器并关机👺样机 内存条上的金手指安装过程Notes 安装后开机初次开机速度屏幕显示分辨率和闪烁问题检查安装后的效果 添加内存条的意义 参考双通道内存DDR5多通道内存-CSDN博客 准备工具 准备一个质量差不多的螺…

我国伺服系统市场规模逐渐扩大 未来有望实现完全国产替代

我国伺服系统市场规模逐渐扩大 未来有望实现完全国产替代 伺服系统又称为随动系统,是用于精确地跟随或复现某个过程的反馈控制系统。伺服系统主要包括驱动器、指令机构和电机等,可根据控制指令,对功率进行放大、变换与调控等处理,…