【Node.js】初识Node.js

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【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日志并进行多维度分析。
相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
48 1
|
27天前
|
存储 JavaScript NoSQL
Node.js新作《循序渐进Node.js企业级开发实践》简介
《循序渐进Node.js企业级开发实践》由清华大学出版社出版,基于Node.js 22.3.0编写,包含26个实战案例和43个上机练习,旨在帮助读者从基础到进阶全面掌握Node.js技术,适用于初学者、进阶开发者及全栈工程师。
51 9
|
2月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
2月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
35 1
JavaScript中的原型 保姆级文章一文搞懂
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
114 2
|
2月前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
22 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
161 4
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
91 4