前端-Node.js

1、Node.js的概念

1.1 什么是Node.js

通俗的说,Node.js就是javaScript运行环境。类似于Java的JVM。Node.js可以实现数据的封装,裁剪。

  • 脱离浏览器环境也可以运行JavaScript,只要有JavaScript引擎就可以。
  • Node.js是一个基于Chrome V8引擎的JavaScript运行环境:即Node.js内置了Chrome的V8 引擎,可以在Node.js环境中直接运行JavaScript程序。
  • 在Node.js中写JavaScript和在Chrome浏览器中写JavaScript基本没有什么不一样。哪里不一样呢?
    Node.js没有浏览器API,即document,window的等。
    加了许多Node.js 专属API,例如文件系统,进程,http功能。

1.2 JavaScript引擎

浏览器的内核包括两部分核心:

  • DOM渲染引擎
  • JavaScript解析引擎

Chrome浏览器内置V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

1.3、Node.js有什么用

如果你想开发类似JavaWeb的简单的后端程序,那么学习Node.js是一个非常好的选择。
如果你想部署一些高性能的服务,那么学习Node.js也是一个非常好的选择。
通常他会被用来作一个BFF层,即 Backend For Frontend(服务于前端的后端),通俗的说是一个专门用于为前端业务提供数据的后端程序

2、BFF

2.1、 BFF 解决什么问题

一个前端页面向 Service A、Service B 以及 Service C发送请求,不同的微服务返回的值用于渲染页面中不同的组件。此时,每次访问该页面都需要发送 3 个请求。我们需要一个服务来聚合Service A、Service B 以及 Service C响应的数据,这个服务层叫做BFF。

在这里插入图片描述
手机、平板端、PC机等用户终端都需要向每个Service,例如Service A发送请求。对于同一个功能,不同的终端需要的数据格式和内容会有不同。此时 Service A 的一个接口,不能同时满足三个客户端的不同需求。我们可以在Service A中开发三个接口,也可以增加一个数据裁剪服务,将数据按照不同终端的不同要求进行裁剪,这个服务层叫做BFF。
在这里插入图片描述
BFF层的作用是让前端有能力自由组装后台数据,减少大量的业务沟通成本,加快业务的迭代速度。
无论是数据聚合还是数据剪裁,这类程序的特点是不需要太强大的服务器运算能力,但是对程序的灵活性有较高的要求,这两个特点都正好和Node.js的优势相吻合。

2.2什么是BFF

用户体验适配器

3、node.js

3.1、下载

node.js官网:https://nodejs.org/en/
node.js中文网:http://nodejs.cn/
百度云下载node.js链接:https://pan.baidu.com/s/11Ed_pdp-_TT567bQIjlJ1w
提取码:4voe

LTS:长期支持版本
Current:最新版

3.2、安装

双击安装 node-v10.14.2-x64.msi

3.3、 查看版本

打开cmd输入命令:node -v
在这里插入图片描述

4、node.js快速入门

使用前端开发工具:VSCode

4.1、控制台运行

新建01.js文件,编写代码
在这里插入图片描述

运行方式一

找到该文件在本地磁盘的位置,使用命令行方式运行该文件
在这里插入图片描述
输入命令node 01.js,查看运行结果
在这里插入图片描述

运行方式二

也可以在vscode中运行js程序

在这里插入图片描述在这里插入图片描述

4.2 服务器端应用开发(了解)

1、新建02.js文件

//引入http模块
const http = require('http');
//创建服务器
http.createServer(function (request, response) {
// 发送 HTTP 头部 
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/html'});
// 发送响应数据 "Hello World"
response.end('<h1>Hello Node.js Server</h1>');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

2、启动服务。使用命令行方式运行
停止服务:ctrl + c
在这里插入图片描述
3、服务器启动成功后,在浏览器中输入:http://localhost:8888/ 查看webserver成功运行,并输出html页面
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当面试涉及到Node.js前端岗位时,通常会涉及以下几个方面的问题: 1. 什么是Node.jsNode.js是一个基于Chrome V8引擎的JavaScript运行环境,用于在服务器端运行JavaScript代码。它提供了一组丰富的内置模块,使得开发者可以轻松地构建高性能的网络应用。 2. Node.js的特点有哪些? - 异步非阻塞I/O模型:Node.js采用事件驱动、非阻塞的I/O模型,能够处理大量并发请求,提高系统的吞吐量。 - 单线程:Node.js使用单线程来处理请求,通过事件循环机制实现并发处理,避免了传统多线程编程中的线程切换开销。 - 轻量高效:Node.js具有较低的资源消耗和快速的启动时间,适合构建高性能的网络应用。 3. 如何在Node.js中处理异步操作? Node.js通过回调函数、Promise、async/await等方式来处理异步操作。常见的异步操作包括文件读写、网络请求、数据库查询等。通过合理地使用这些异步处理方式,可以避免阻塞主线程,提高系统的并发能力和响应速度。 4. 如何管理Node.js的依赖包? Node.js使用npm(Node Package Manager)作为包管理工具。通过在项目根目录下的package.json文件中定义依赖关系,可以方便地安装、更新和删除依赖包。同时,npm还提供了一些常用的命令,如npm install、npm update等,用于管理依赖包。 5. 如何处理Node.js中的错误? 在Node.js中,可以使用try-catch语句来捕获同步代码中的错误。对于异步代码,可以使用回调函数的第一个参数来传递错误信息。此外,还可以使用try-catch-finally语句块来处理异步操作中的错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值