【Node.js】初识Node.js

news2025/2/26 22:17:16

系列文章目录


文章目录

  • 系列文章目录
    • 一、什么是 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://www.coloradmin.cn/o/405330.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3实战教程(快速入门)

Vue3实战教程(快速入门)前言1.搭建脚手架1.1 创建项目1.2 清除多余文件,创建干净项目1.3 创建登录页面2.创建404页面(引入sass)2.1 引入sass2.2 创建404页面3.构建登录注册页面(引入element-plus&#xff0…

VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了

前言 Visual Studio Code 是一个轻量级功能强大的源代码编辑器,支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。适用于 Windows、macOS 和 Linux。它内置了对…

如何解决Vue3没有代码提示问题?

在上一篇笔记中提到了Vue3viteTs写代码过程中,出现的代码自动补全失效功能,今天来谈谈如何解决这个问题。 首先,我们已经很明确的就是安装了volar插件之后,HTML标签片段补全已经失效,即在template中书写HTML标签时&am…

IDEA2022版本创建maven web项目(两种方式)最全图文教学

IDEA2022版本创建maven web项目 问题发生时间:2022.1.3 问题描述:新版本的idea2022很多人不解的地方就是创建项目之后没有Web文件夹,这让项目创建的过程中产生了困难 提示:环境搭建的过程中请注意细节问题,避免粗心大…

Vue开发实例(20)之实现登录功能

引言 Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手、带你飞! 即使你并非前端开发人员,对前端的开发流程进行一定的了解也…

微信小程序简洁登录页面(附源码)

微信小程序简洁登录页面(附源码) 文章目录微信小程序简洁登录页面(附源码)1. 群聊(开源项目以及技术交流)2.看效果3.用户不存在4.上代码4.1login.wxml4.2login.css4.3login.js5.总结1. 群聊(开源…

手把手教你用vue + node 作后端连接数据库

教程的顺序: 1、编写node服务器 2、用node连接数据库 3、编写前端页面 4、前后端交互 ok,让我们开始吧 1、编写node服务器 先下载几个依赖包 express(用于网络连接) npm i express --save cors(用于处理跨域…

IDEA 2022专业版创建Java Web项目(保姆式小白讲义,强烈建议入手!)

这里先给出IDEA专业版的下载链接,没有下载的小伙伴,请先下载哦!(选择左边的Ultimate) 目录 1.新建Java Class 2.添加框架 3. 配置Maven 4.配置项目结构 5.配置tomcat 本文致力于2022.3IDEA 专业版创建Java Web项目小白…

JS中的this指向

this的概念: 在js中,this的意思为“这个;当前”,是一个指针型变量,它动态指向当前函数的运行环境。 在不同的场景中调用同一个函数,this的指向也可能会发生变化,但是它永远指向其所在函数的真实调用者&…

如何在uniapp中优雅地使用WebView

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 从webview页面传值到uniapp中 官方文档已经很详细了,这里给大家上我的实战代码&#xff0c;首先在webview页面中引入相关依赖&#xff1a; <!-- uniapp各平台依赖 --> <script type"tex…

用uniapp实现微信小程序的电子签名效果

✅作者简介&#xff1a;大家好我是瓜子三百克&#xff0c;励志成为全栈工程师的一枚程序猿&#xff0c;也是喜欢在学习和开发中记录笔记的小白博主&#xff01; &#x1f4c3;个人主页&#xff1a;瓜子三百克的主页 &#x1f525;系列专栏&#xff1a;uniapp前端 &#x1f496;…

vue项目实战-电商后台管理系统

项目简介&#xff1a; 该项目为电商后台的管理系统。设计了登录页面。 管理人员需要通过输入正确的用户名和密码才能登录。登陆成功之后进入管理页面&#xff1a; 管理页面由五个子模块组成&#xff1a;用户管理&#xff0c;权限管理&#xff0c;商品管理&#xff0c;订单管理…

ChatGPT对话数据备份

ChatGPT对话数据备份 文章目录ChatGPT对话数据备份1. 背景2. 其他&#xff08;失败的&#xff09;方法2.1 右键另存为2.2 直接copy html代码3. 编写Javascript脚本3.1 思路过程3.2 安装教程3.3 使用说明3.4 最终效果1. 背景 之前在ChatGPT更新时有好几天都无法查看过往对话&am…

webpack 面试题整理

文章目录webpack 面试题整理谈谈你对Webpack的理解Webpack的打包过程/打包原理/构建流程&#xff1f;Webpack中loader的作用/ loader是什么&#xff1f;常见的loader有哪些&#xff1f;Plugin有什么作用&#xff1f;/Plugin是什么常见的Plugin有哪些Webpack 插件的执行顺序&…

15套前端经典实战项目大合集,小白练手必备实战项目

15套前端经典实战项目大合集&#xff0c;悄悄练习&#xff0c;你会惊艳所有人。 今日我以内卷为荣&#xff0c;明日内卷以我为荣&#xff0c;不管学习哪门语言都要做出实际的东西来&#xff0c;这个实际的东西就是项目。 这里整理了15前端经典实战项目&#xff0c;每套都有完…

nodejs高版本降为低版本方案

1.首先通过控制面板应用卸载当前环境下的Node.js相关安装&#xff0c;并清理磁盘残存的文件夹等文件 2.下载nvm来管理node版本 官网&#xff1a;https://github.com/coreybutler/nvm-windows/releases 说在前面&#xff0c;贴一个error C:\Windows\system32>nvm use 12.10.…

web前端Vue 报错:Uncaught (in promise) TypeError: Cannot read properties of nu

前言 最近在写vue项目 在写自定义分页器的时候报了一个异常 知道错误却一直找不到解决方案 苦思冥想后 还是js的基础语法不扎实导致的&#xff0c;在此记录一下解决方案和思路 为以后的bug解决之路打下基础 错误提示 错误内容Uncaught (in promise) TypeError: Cannot read…

【HTML特效程序】① 给女神表白的程序(让女神看科技烟花),输入名字自动生成表白二维码

目录一、效果演示视频二、一步一步创建项目三、生成表白二维码的小链接一、效果演示视频 给女神表白的程序二、一步一步创建项目 &#x1f339; 在您的电脑上创建 love 文件夹 &#xff08;存放所有的资源和代码&#xff09; &#x1f339; 在 love 文件夹中创建 images 文件夹…

Vue 国际化之 vue-i18n 的使用

目录 一、安装 二、使用 1、准备语言包 2、准备翻译的语言环境 3、实现语言翻译 三、整合 ElementUI 语言包 1、扩展中文 2、扩展英文 3、使用扩展语言翻译 四、问题记录 五、扩展 vue3 中使用 vue-i18n 一、安装 npm install vue-i18n 如果在一个模块系统中使用…

elementUI使用el-upload上传文件写法总结及避坑,上传图片/视频到本地/服务器以及回显+删除

Element Upload 上传 Element Upload官方文档&#xff1a;el-upload 具体细节只看官方文档&#xff0c;本篇主要介绍避坑点和用法总结 注意点以及坑 本地上传想要回显图片视频&#xff0c;使用on-success是没办法再在上传后获取到本地文件路径后进行回显的&#xff0c;因为只…