Node.js【入门级】

node

可以脱离浏览器来执行js代码,没有DOM和BOM对象,针对后端可以编写接口,提供网页资源,前端可以集成各种工具(承上启下)

Buffer

image.png

Buffer相关操作

image.png

let buf = Buffer.alloc(10)
console.log(buf);
let buf_2 = Buffer.allocUnsafe(100)
console.log(buf_2);
let buf_3 = Buffer.from('hello')
console.log(buf_3);

fs模块-读写模块【回顾一下liunx操作系统】【增删改查操作】

image.png

与本机文件系统进行交互的,方法和属性

image.png
image.png

fs异步和同步

image.png

fs文件追加操作

image.png

文件写入的场景-【做持久化】

image.png

文件读取

image.png

写一个创建文件的脚本

fs流式写入

image.png

exports对象

由于module.exports 单词写起来比较复杂,为了简化向外共享成员的代码,Node 提供了exports 对象。默认情况下,exports和module.exports 指向同一个对象。最终共享的结果,还是以module.exports指向的对象为准。
时刻谨记,require()模块时,得到的永远是module.exports指向的对象:

计算机组成

image.png

模块化

-require的使用
-模块化的好处->无法共享成员
-module对象,每个.js都自定义模块中都有一个module对象
-exports 自定义模块中,可以使用exports将模块中的成员共享出去,给外界使用  在自定义模块中,默认情况下,module.export = {}
使用require()方法导入模块时,导入的结果,永远以module.exports指向的对象为准。

image.png

模块化初体验

image.png

模块暴露数据

image.png
image.png

导入(引入)模块

image.png
导入 js 和 json文件时 可以省略后缀

导入模块的基本流程

image.png

commonJS规范

image.png

包管理工具【哆啦A梦】

image.png

npm

image.png

npm基本使用

初始化

image.png

{
  "name": "test01",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "c",
  "license": "ISC"
}

image.png

如何搜索/下载npm包 npmjs.com

image.png

require导入包的基本流程

image.png

开发依赖和生产依赖

https://juejin.cn/post/7135795969370619918
image.png

npm全局安装

image.png

修改windows执行策略

image.png
image.png

环境变量path

image.png

npm安装包的所有依赖

image.png

安装指定版本的包

image.png

配置命令别名

image.png

cnpm

image.png

配置淘宝镜像

image.png

yarn

image.png

npm和yarn的使用

image.png

管理发布包

image.png

更新和删除

image.png

扩展

image.png

nvm

image.png

常用命令

image.png

expressJS

Express是一个流行的Node.js Web应用程序框架,用于构建服务器端应用程序。它提供了一组简洁而灵活的工具和中间件,使开发者可以轻松地构建RESTful API和Web应用。Express具有路由、请求和响应处理、中间件等功能,可以帮助开发者管理HTTP请求和构建服务器端逻辑。通过Express,可以搭建一个响应请求的服务器,处理前端发起的HTTP请求并返回相应的数据或页面。

简单应用

路由

image.png

  • 方法
  • 路径
  • 回调
const  express = require('express')

const app = express()

// 路由
app.get('/home',(req,res) =>{
    res.end('Welcome to the Home page')
} )

app.get('/',(req,res) =>{
    res.end('Welcome to the Home page with   instructions   for creating')
})

app.post('/login',(req,res) =>{
    res.end('Welcome to the Login page')
})

app.get('*',(req,res) =>{
    res.end('404  Not Found ')
})

app.listen(3000,()=>{
    console.log('listening on http://localhost')
})

获取请求参数

image.png

获取路由参数

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/494444.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【GitLab】Ubuntu 22.04 快速安装 GitLab

在 Ubuntu 22.04 上安装最新版本的 GitLab,可以按照以下步骤操作: 1. 更新系统: 在终端中执行以下命令以确保系统是最新的: sudo apt update sudo apt upgrade2. 安装依赖: 安装 GitLab 所需的依赖包: …

Hack.Summit() 2024再添亮点:Morphism CEO Cecilia Hsueh确认出席

随着Web3技术的风起云涌,区块链行业正在全球范围内以前所未有的速度崭露头角。而在这场变革的浪潮中,备受瞩目的区块链盛会——Hack.Summit() 2024区块链开发者大会,将于2024年4月9日至10日,在香港数码港拉开帷幕。这不仅标志着Ha…

图书推荐|Django+Vue.js商城项目实战

一线资深架构师 凝聚近十年大型系统开发经验 倾力打造 双色印刷 适合:项目演练求职应聘技术提升 全新:Django 4.x与Vue.js 3.x全栈技术 易学:娓娓道来图示指引原理剖析步骤解说代码详注 真实企业级项目技术细节完整揭秘,照着做就…

逆向案例9--小鹅通视频m3u8内容解密--含简单webpack

视频网址:https://app4nseessp8638.h5.xiaoeknow.com/v2/course/alive/l_65b9e8dfe4b064a83b90e102?type2&app_idapp4nseessp8638&channel_id&res_type4&pro_id&res_idl_65b9e8dfe4b064a83b90e102 按照惯例,刷新网站,搜…

Docker数据卷挂载

一、容器与数据耦合的问题: 数据卷是虚拟的,不真实存在的,它指向文件中的文件夹 ,属主机文件系统通过数据卷和容器数据进行联系,你改变我也改变。 解决办法: 对宿主机文件系统内的文件进行修改,会立刻反应…

MyBatis入门01

MyBatis入门01 文章目录 MyBatis入门01前言一、搭建环境1.新建一个普通的maven项目2.删除src目录3.导入maven依赖:mysql驱动(操作jdbc),juint,mybatis注意:要假如builder标签,预防配置文件不可导…

【OpenCV】 OpenCV (C++) 与 OpenCvSharp (C#) 之间数据通信

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、Ruby、MATLAB等语…

ip协议和数据链路层!

今天我们来学ip协议! 如果我们想要两台主机之间能够通信必须知道双方的ip地址才能进行标识对方然后进行通信! 首先是4位首部长度,与tcp同理*4才是报头的真实大小!(即20-60)(最低开始读20&#x…

Django auth模块

【一】命令行创建用户 【1】语法 python manage.py createsuper【2】示例 用户名 默认是是电脑名称 邮箱 可以填也可以不填 密码 terminal中:输入密码不显示出来manage.py中:明文输入输入密码太简单会提示 Username (leave blank to use administra…

MySQL数据库----------探索高级SQL查询语句 (二)

目录 一、子查询 1.1多表查询 1.2多层嵌套 1.3 insert语句子查询 1.4update语句子查询 1.5delete语句子查询 1.6EXISTS 1.7子查询,别名as 二、mysql视图 2.1mysql视图介绍 2.2mysql作用场景[图]: 2.3视图功能: 2.4视图和表的区别和联系 区别…

Component is not found in path “miniprogram_npm/@vant/

在微信小程序中使用vantUI库时,xxx.json内引入vant组件,报错Component is not found in path "miniprogram_npm/vant/checkbox/index ,按报错路径查看,在报错目录下的包,文件完好存在,如下截图 找到n…

Etcd 基本入门

1:什么是 Etcd ? Etcd 是 CoreOS 团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,Etcd基于 Go 语言实现。 名字由来,它源于两个方面,…

20240320-2-线性回归+逻辑回归

线性回归于逻辑回归面试题 1. 简单介绍一下线性回归。 **线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。**这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简…

V R社交平台的用处|虚拟现实体验馆加盟|V R设备在线价格

VR(虚拟现实)社交平台的用处可以体现在以下几个方面: VR社交平台不仅可以丰富用户的社交体验,还可以在教育、艺术、商务等领域发挥重要作用,为用户提供更加多样化、互动性强的社交平台体验。 VR游乐设备|VR娱乐设备|VR…

SEO 的未来:GPT 和 AI 如何改变关键词研究

谷歌Gemini与百度文心一言:AI训练数据的较量 介绍 想象一下,有一个工具不仅可以理解错综复杂的关键字网络,还可以预测搜索引擎查询的变化趋势。 这就是生成式预训练 Transformer (GPT) 和其他人工智能技术发挥作用的地方,以我们从…

37.网络游戏逆向分析与漏洞攻防-游戏网络通信数据解析-解码器细化类的实现

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 内容参考于:易道云信息技术研究院VIP课 上一个内容:36.数据解码器的…

高阶SQL语句(二)

一 子查询 也被称作内查询或者嵌套查询,是指在一个查询语句里面还嵌套着另一个查询语 句。子查询语句 是先于主查询语句被执行的,其结果作为外层的条件返回给主查询进行下一 步的查询过滤。 ①子语句可以与主语句所查询的表相同,也可以是不…

29---Nor Flash电路设计

视频链接 Nor Flash硬件电路设计01_哔哩哔哩_bilibili NOR FLASH电路设计 1、NOR FLASH介绍 NOR Flash最早是由Intel公司于1988年开发出的。 NOR Flash虽容量小但速度快,最大特点是支持芯片内执行(XIP),即程序可以直接在NOR flash的片内…

mac-git上传至github(ssh版本,个人tokens总出错)

第一步 git clone https://github.com/用户名/项目名.git 第二步 cd 项目名 第三步 将本地的文件移动到项目下 第四步 git add . 第五步 git commit -m "添加****文件夹" 第六步 git push origin main 报错: 采用ssh验证 本地文件链接公钥 …

Day23:事务管理、显示评论、添加评论

事务管理 事务的定义 什么是事务 事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行。 事务的特性(ACID) 原子性(Atomicity):事务是应用中不可再分的最小执行体(事务中部分执行失败就会回滚 。一致性(C…