Node的介绍

2023-11-15 22:18:39 浏览数 (1)

Node介绍

为什么要学习Node.js

  • 企业需求
  • 具有服务端开发经验更改
  • front-end
  • back-end
  • 全栈开发工程师
  • 基本的网站开发能力
代码语言:txt复制
- 服务端
代码语言:txt复制
- 前端
代码语言:txt复制
- 运维部署
  • 多人社区

Node.js是什么

  • Node.js是JavaScript 运行时
  • 通俗易懂的讲,Node.js是JavaScript的运行平台
  • Node.js既不是语言,也不是框架,它是一个平台
  • 浏览器中的JavaScript
  • EcmaScript
代码语言:txt复制
- 基本语法
代码语言:txt复制
- if
代码语言:txt复制
- var
代码语言:txt复制
- function
代码语言:txt复制
- Object
代码语言:txt复制
- Array
  • Bom
  • Dom
  • Node.js中的JavaScript
  • 没有Bom,Dom
  • EcmaScript
  • 在Node中这个JavaScript执行环境为JavaScript提供了一些服务器级别的API
代码语言:txt复制
- 例如文件的读写
代码语言:txt复制
- 网络服务的构建
代码语言:txt复制
- 网络通信
代码语言:txt复制
- http服务器
  • 构建与Chrome的V8引擎之上
  • 代码只是具有特定格式的字符串
  • 引擎可以认识它,帮你解析和执行
  • Google Chrome的V8引擎是目前公认的解析执行JavaScript代码最快的
  • Node.js的作者把Google Chrome中的V8引擎移植出来,开发了一个独立的JavaScript运行时环境
  • Node.js uses an envent-driven,non-blocking I/O mode that makes it lightweight and efficent.
  • envent-driven 事件驱动
  • non-blocking I/O mode 非阻塞I/O模型(异步)
  • ightweight and efficent. 轻量和高效
  • Node.js package ecosystem,npm,is the larget scosystem of open sourcr libraries in the world
  • npm 是世界上最大的开源生态系统
  • 绝大多数JavaScript相关的包都存放在npm上,这样做的目的是为了让开发人员更方便的去下载使用
  • npm install jquery

Node能做什么

  • web服务器后台
  • 命令行工具
  • npm(node)
  • git(c语言)
  • hexo(node)
  • ...
  • 对于前端工程师来讲,接触最多的是它的命令行工具
  • 自己写的很少,主要是用别人第三方的
  • webpack
  • gulp
  • npm

起步

安装Node环境

  • 查看Node环境的版本号
  • 下载:https://nodejs.org/en/
  • 安装:
  • 傻瓜式安装,一路next
  • 安装过再次安装会升级
  • 确认Node环境是否安装成功
  • 查看node的版本号:node --version
  • 或者node -v
  • 配置环境变量

解析执行JavaScript

  1. 创建编写JavaScript脚本文件
  2. 打开终端,定位脚本文件的所属目录
  3. 输入node 文件名执行对应的文件

注意:文件名不要用node.js来命名,也就是说除了node这个名字随便起,最好不要使用中文。

文件的读写

文件读取:

代码语言:javascript复制
//浏览器中的JavaScript是没有文件操作能力的

//但是Node中的JavaScript具有文件操作能力

//fs是file-system的简写,就是文件系统的意思

//在Node中如果想要进行文件的操作就必须引用fs这个核心模块

//在fs这个和兴模块中,就提供了人所有文件操作相关的API

//例如 fs.readFile就是用来读取文件的



//  1.使用fs核心模块

var fs = require('fs');



// 2.读取文件

fs.readFile('./data/a.txt',function(err,data){

   if(err){

        console.log('文件读取失败');

   }

    else{

         console.log(data.toString());

    }

})

文件写入:

代码语言:javascript复制
//  1.使用fs核心模块

var fs = require('fs');



// 2.将数据写入文件

fs.writeFile('./data/a.txt','我是文件写入的信息',function(err,data){

   if(err){

        console.log('文件写入失败');

   }

    else{

         console.log(data.toString());

    }

})

http

服务器:

代码语言:javascript复制
// 1.加载http核心模块

var http = require('http');



// 2.使用http.createServer()创建一个web服务器

var server = http.createServer();



// 3.服务器要做的事儿

// 提供服务:对数据服务

// 发请求

//    接收请求

//    处理请求

//    反馈(发送响应)

//    当客户端请求过来,就会自动触发服务器的request请求事件,然后执行第二个参数:回调处理函数

server.on('request',function(){

    console.log('收到客户的请求了')

})



// 4.绑定端口号,启动服务

server.listen(3000,function(){

    console.log('runing...')

})

总结与思考

  1. 异步编程:Node.js 采用了非阻塞式 I/O 和异步编程的方式,可以处理高并发、高吞吐量的请求。这种异步编程模型对于 I/O 密集型应用非常适合,可以提高系统的响应速度和吞吐量。
  2. 事件驱动:Node.js 基于事件驱动的模型,通过触发事件和注册回调函数的方式来处理请求。这种模型可以有效地减少系统的资源占用,提高系统的可扩展性和可维护性。
  3. 模块化:Node.js 支持模块化的编程方式,可以将代码分成多个模块,每个模块可以单独开发、测试和维护,使得系统更加易于开发和维护。
  4. 跨平台性:Node.js 可以运行在多种操作系统上,包括 Windows、Linux 和 Mac OS 等,这使得开发者可以在不同的平台上开发和运行应用程序。
  5. 生态系统:Node.js 有一个庞大的生态系统,包括了大量的第三方模块和工具,这些模块和工具可以方便地扩展 Node.js 的功能,使得开发更加高效和便捷。

总的来说,Node.js 是一款非常适合开发高并发、高吞吐量的应用程序的 JavaScript 运行环境,具有异步编程、事件驱动、模块化和跨平台性等优点。在选择开发技术时,应该根据实际的业务需求和技术特点来进行选择。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞