【Node.js】初识Node.js

简介: 【Node.js】初识Node.js

一、什么是 Node.js

以下介绍内容来自百度百科:Node.js


Node.js 一个基于 Chrome V8 引擎的 JavaScript 运行环境。


使用了一个事件驱动、非阻塞式I/O模型,让 JavaScript 运行在服务端的开发平台。


它让 JavaScript 成为与 PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。

二、下载和安装 Node.js

1、普通方式

Node.js官网

2248cb8a422d48f898f5064e79e29203.png下载完之后,通过命令行执行以下命令,如有版本号,则安装成功

19f5bb4f2fa049d4bb347c51e809151b.png

2、使用 nvm 安装

nvm:nodejs 版本管理工具,可以切换多个 nodejs 版本

Mac OS 电脑:安装 brew 的命令,之后使用 brew install nvm 命令


0a2e3f35122f42e59dce31d650e20ed6.png

windows电脑:nvm下载地址

51cc3e8e6f4a4dadb980f223a86ef378.png

使用 nvm

  • nvm list 查看当前所有的 node 版本
  • nvm install v16.10.0 安装指定的版本
  • nvm use --delete-prefix 16.10.0 切换到指定的版本

三、Node.js 和 JavaScript 的区别

1、ECMScript

定义了语法,写 JavaScript 和 Node.js 都必须遵守

2、JavaScript

使用 ECMAScript 语法规范,外加 Web API,缺一不可


DOM 操作,BOM 操作,事件绑定,Ajax 等


两者结合,就可完成浏览器端的任何操作

3、node.js

使用 ECMAScript 语法规范,外加 nodejs API,缺一不可

处理 http,处理文件等,具体参考官网

两者结合,即可完成 server 端的任何操作

四、commonjs

1、什么是 commonjs

commonjs:即模块化规范

实例:在一个 js 文件中定义加法和乘法,在另一个 js 文件中使用

a.js 文件

function add(a, b) {
    return a + b
}
function mul(a, b) {
    return a * b
}
module.exports = {
    add,
    mul
}

b.js 文件

const {add, mul} = require('./a')
const sum = add(5, 20)
const result = mul(5, 20)
console.log(sum)
console.log(result)

终端键入:node b.js

d0b944c0fd6b4b5d9305df784dbf0d03.png

2、安装 lodash

Lodash 是一个 JavaScript 原生库,也是 Node JS 的常用模块,可以用 npm install -g lodash 命令安装。一个意在提高开发者效率,提高 JS 原生方法性能的 JS 库。

初始化环境:

npm init -y

安装 lodash:

npm i lodash --save

成功安装之后:

fb7b82bdf1c04567aa9092b6f6874812.png

测试 lodash 是否可以正常使用:

const _ = require('lodash')
const arr = _.concat([1, 2], 3)
console.log('arr...', arr)

bfb1bfce98764135b83d3b99996e91be.png

五、debugger

在 VS Code 内进行调试:

1bffb533a312488f900db1d839e687b1.png

ab1135bb687240f18ea0b0e20334bd23.png

六、server 开发和前端开发的区别

服务稳定性

  • server 端可能会遭受各种恶意攻击和误操作
  • 单个客户端可以意外挂掉,但是服务端不能
  • 考虑内存和 CPU(优化,扩展)
  • 客户端独占一个浏览器,内存和 CPU 都不是问题
  • server 端要承载很多请求,CPU 和内存都是稀缺资源
  • 使用 stream 写日志,使用 redis 存 session
  • 日志记录
  • 前端也会参与写日志,但只是日志的发起方,不关心后续
  • server 端要记录日志、存储日志、分析日志,前端并不关心
  • 安全
  • server 端要随时准备接收各种恶意攻击,前端则少很多
  • 如:越权操作,数据库攻击等
  • 登录验证,预防 xxs 攻击和 sql 注入
  • 集群和服务拆分
  • 产品发展速度快,流量可能会迅速增加
  • 通过扩展及其和服务拆分来承载大流量
  • 45fc82a82c6542bdb2ff4986377d8db3.png
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
5天前
|
JavaScript
Node.js实操练习(一)之Node.js+MySQL+RESTful(4)
Node.js实操练习(一)之Node.js+MySQL+RESTful
|
5天前
|
JavaScript 前端开发
Node.js实操练习(一)之Node.js+MySQL+RESTful(3)
Node.js实操练习(一)之Node.js+MySQL+RESTful
|
5天前
|
JavaScript 前端开发 关系型数据库
Node.js实操练习(一)之Node.js+MySQL+RESTful(1)
Node.js实操练习(一)之Node.js+MySQL+RESTful
|
Web App开发 JavaScript 前端开发
00-Node.js 简介
Node.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!
141 0
00-Node.js 简介
|
1月前
|
JSON JavaScript 前端开发
❤Nodejs 第九章(token身份认证和express-jwt的安装认识)
【4月更文挑战第9天】Node.js第九章介绍了Token身份认证,特别是JWT(JSON Web Token)作为跨域认证的解决方案。JWT由Header、Payload和Signature三部分组成,用于在客户端和服务器间安全传输用户信息。前端收到JWT后存储在localStorage或sessionStorage中,并在请求头中发送。Express-JWT是一个中间件,用于解析JWT。基本用法包括设置secret和algorithms。注意安全问题,避免混合使用不同算法以防止降级攻击。
59 0
|
20天前
|
前端开发
windows10 安装node npm 等前端环境 并配置国内源
windows10 安装node npm 等前端环境 并配置国内源
40 3
|
1月前
|
移动开发 JavaScript 前端开发
为了学习vue3,安装nvm进行node的多版本管理
为了学习vue3,安装nvm进行node的多版本管理
73 2
|
1月前
|
资源调度 jenkins 持续交付
jenkins 自动安装nodejs16.16.0版本报错处理
jenkins 自动安装nodejs16.16.0版本报错处理
79 0
|
26天前
|
Web App开发 缓存 JavaScript
Node.js安装及环境配置,详细简单易懂!一文get全部!
Node.js安装及环境配置,详细简单易懂!一文get全部!
|
7天前
|
存储 资源调度 JavaScript
使用 Homebrew 安装 Node.js
使用 Homebrew 安装 Node.js
35 0