Node.js——初识Node.js

news/2024/7/8 6:39:45

系列文章目录


文章目录

  • 系列文章目录
    • 一、什么是 Node.js
    • 二、下载和安装 Node.js
      • 1、普通方式
      • 2、使用 nvm 安装
    • 三、Node.js 和 JavaScript 的区别
      • 1、ECMScript
      • 2、JavaScript
      • 3、node.js
    • 四、commonjs
      • 1、什么是 commonjs
      • 2、安装 lodash
    • 五、debugger
    • 六、server 开发和前端开发的区别


一、什么是 Node.js

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

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

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

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

二、下载和安装 Node.js

1、普通方式

Node.js官网

在这里插入图片描述

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

在这里插入图片描述

2、使用 nvm 安装

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

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

在这里插入图片描述

windows电脑:nvm下载地址

在这里插入图片描述

使用 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

在这里插入图片描述

2、安装 lodash

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

初始化环境:

npm init -y

安装 lodash:

npm i lodash --save

成功安装之后:

在这里插入图片描述

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

const _ = require('lodash')

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

在这里插入图片描述

五、debugger

在 VS Code 内进行调试:

在这里插入图片描述

在这里插入图片描述

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

服务稳定性

  • server 端可能会遭受各种恶意攻击和误操作
  • 单个客户端可以意外挂掉,但是服务端不能

考虑内存和 CPU(优化,扩展)

  • 客户端独占一个浏览器,内存和 CPU 都不是问题
  • server 端要承载很多请求,CPU 和内存都是稀缺资源
  • 使用 stream 写日志,使用 redis 存 session

日志记录

  • 前端也会参与写日志,但只是日志的发起方,不关心后续
  • server 端要记录日志、存储日志、分析日志,前端并不关心

安全

  • server 端要随时准备接收各种恶意攻击,前端则少很多
  • 如:越权操作,数据库攻击等
  • 登录验证,预防 xxs 攻击和 sql 注入

集群和服务拆分

  • 产品发展速度快,流量可能会迅速增加
  • 通过扩展及其和服务拆分来承载大流量

这里是 前端杂货铺,期待您的 三连 + 关注

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/76847.html

相关文章

一个nginx部署多个应用及nginx总结

一、背景知识 1、Nginx是什么? &:Web服务器,静态文件保存、响应http请求。 同时可以提供代理、负载均衡的功能。 2、为什么使用? &:主要是轻量级和高性能,在一般行业不明显,但在互联…

使用docker快速搭建运维神器-spug

大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步! 我的主页:早九晚十二 什么是spug? 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理…

C++泛型编程:可变参数模板

最近在看有关智能指针源码的时候make_unique,make_shared(用来创建管理一个新对象)模板都是这么定义的 template<typename T, typename... Ts> std::unique_ptr<T> make_unique(Ts&&... params) {return std::unique_ptr<T>(new T(std::forward<…

(附源码)计算机毕业设计ssm黑河市劳务人员管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

再学 PHP 基础 之 数组排序函数总结

文章目录排序函数汇总对比排序类型标志按【值】排序的函数array_multisort()asort()arsort()natcasesort()natsort()sort()rsort()shuffle()按【键】排序的函数ksort()krsort()uksort()自定义比较函数uasortuksort()usort()打乱数组&#xff08;随机排序&#xff09;shuffle()排…

FIT5217 Natural language processing学习经验贴

一、课程简介 这门课就是我们口中常说的nlp&#xff0c;课程包含三部分&#xff0c;第一部分是上午的lecture,这部分主要是老师上课讲课&#xff0c;kun老师的课讲不太行&#xff08;主要原因还是口语太工地&#xff09;&#xff0c;建议大家自己看课件。第二部分是Tutorial&a…

武汉市10月双软认定好处、认定条件及9月认定名单公示

武汉市10月双软认定开始&#xff0c;双软认定有哪些好处&#xff0c;以及需要满足的认定条件简单介绍在下文&#xff0c;9月双软认定的名单已经公示出来了&#xff0c;截取部分放在下文&#xff0c;大家可以参考一下&#xff0c;有需要申报或者了解政策可以直接找我沟通&#x…

Spring Data JDBC如何使用自定义 ID 生成

这是关于如何解决在使用Spring数据JDBC时可能遇到的各种挑战的系列文章的第一篇文章。该系列包括 春季数据 JDBC - 如何使用自定义 ID 生成。&#xff08;本文&#xff09;。 春季数据 JDBC - 如何建立双向关系&#xff1f; 春季数据 JDBC - 如何实现缓存&#xff1f; 春季数…