node.js

文章目录

  • 包含
  • Buffer
    • 概述
    • 创建
    • 操作
  • 软件运行过程
  • 线程与进程
  • fs模块
    • 写入文件
      • 追加
      • 流式写入
      • 使用场景
    • 读取文件
      • 文件流式读取
      • 读取场景
    • 复制案例
      • 内存占有量
    • 重命名和移动
    • 删除
    • 文件夹操作
      • 创建
      • 读取
      • 删除
    • 查看文件的资源
    • 相对路径bug
  • path模块
  • http协议
  • 创建http服务器x`
    • 获取请求体
    • 获取请求报文
    • 案例
    • 设置响应报文
    • 练习
    • 网页资源加载
    • 静态资源和动态资源
    • 搭建静态资源服务
    • 静态资源目录或网站根目录
    • 网页路径
      • 绝对路径
      • 相对路径
      • 使用场景
    • MIME类型
      • 获取文件后缀名并设置
      • 乱码
    • 完善错误处理
    • Get与post
  • 模块化
    • 介绍
    • 导入与暴露
      • 暴露
      • 导入
      • 总结
    • 导入模块
    • 导入模块基本流程
    • 总结
  • 包管理工具npm
    • 注意事项
    • 搜索包
    • require导入包
    • 生产环境和开发环境
    • 全局安装
    • 不支持nodemon时
    • 安装所有包
    • 安装指定包和删除
    • 配置命令别名
    • cmpm
    • 配置cnpm
    • yarn
    • npm和yarn的选择
    • 发布、更新和删除一个包
    • 拓展介绍
    • nvm介绍
  • express框架
    • 使用
    • 获取请求参数
    • 响应设置
    • 中间件
      • 使用
      • 静态资源中间件
      • 注意事项
    • 使用body-parser
      • formidable
    • 防盗链
      • 实践
    • 路由模块化
    • 模板引擎ejs
      • 使用
      • 列表渲染
      • ejs条件渲染
      • express中使用ejs
      • express-generator的使用
      • 文件上传
    • 案例
  • MongoDB
    • 核心概念
    • 下载与安装
    • 命令(了解)
    • 文档
  • mongoose
    • 使用
    • 插入文档
    • 字段类型
    • 字段验证
    • 数据操作
    • 条件控制
    • 个性化读取
    • 模块化

包含

在这里插入图片描述

Buffer

概述

在这里插入图片描述
在这里插入图片描述

创建

alloc 是创建内存空间,并赋值为0
allocUnsafe 也是创建空间,但是可能会有前面的遗留数据,也更快
from 将内容转换为2进制存入,在显示的时候,显示的是16进制。

在这里插入图片描述

操作

修改,和读取,
toString(2)是2进制
toString()转字符串
在这里插入图片描述
一个字占三个字节

在这里插入图片描述

软件运行过程

在这里插入图片描述

线程与进程

在这里插入图片描述

fs模块

写入文件

写入是异步的
在这里插入图片描述
同步
在这里插入图片描述

追加

异步和同步
在这里插入图片描述

在这里插入图片描述
换行
在这里插入图片描述

流式写入

打开一个通道,提高效率
在这里插入图片描述

使用场景

在这里插入图片描述

读取文件

在这里插入图片描述
在这里插入图片描述

文件流式读取

是一块一块的读,读出来的是buffer数据,提高效率
在这里插入图片描述

读取场景

在这里插入图片描述

复制案例

在这里插入图片描述

更好
在这里插入图片描述

内存占有量

在这里插入图片描述
在这里插入图片描述

重命名和移动

删除

在这里插入图片描述

文件夹操作

创建

在这里插入图片描述

在这里插入图片描述

读取

在这里插入图片描述

删除

在这里插入图片描述
在这里插入图片描述

查看文件的资源

在这里插入图片描述

在这里插入图片描述

相对路径bug

相对路径会跟着命令行路径走
在这里插入图片描述
解决:这个__irname是表示当前的路径
在这里插入图片描述

path模块

在这里插入图片描述
标红的错的
在这里插入图片描述

http协议

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建http服务器x`

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
header.host 就只获取header

获取请求体

了解即可
在这里插入图片描述
在这里插入图片描述

获取请求报文

建议用实例URL包
在这里插入图片描述
拼接成网址就好了

在这里插入图片描述
在这里插入图片描述

案例

在这里插入图片描述

设置响应报文

设置,相同响应属性,不同响应值的,用数组即可,用了write就不用用end了

在这里插入图片描述

练习

从其他地方读取数据,再渲染
在这里插入图片描述

网页资源加载

错误的,只要访问资源,都是执行这个回调函数
在这里插入图片描述

获取不同的资源,就要判断是什么资源
在这里插入图片描述

静态资源和动态资源

在这里插入图片描述

搭建静态资源服务

在这里插入图片描述
在这里插入图片描述

静态资源目录或网站根目录

根目录可以根据自己的需要调整,如,vscode是以打开的目录为根目录。
在这里插入图片描述

网页路径

绝对路径

在这里插入图片描述

相对路径

在这里插入图片描述

使用场景

在这里插入图片描述

MIME类型

媒体类型
在这里插入图片描述

获取文件后缀名并设置

要导入path模块
在这里插入图片描述
在这里插入图片描述

乱码

meta的编码的优先级会**<**响应头的编码
只设置html的
在这里插入图片描述

完善错误处理

在这里插入图片描述

判断请求方法
在这里插入图片描述

Get与post

在这里插入图片描述
在这里插入图片描述

模块化

介绍

在这里插入图片描述

导入与暴露

暴露

module.exports是属性
exports是一个独立的变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

导入

对应第一个暴露
在这里插入图片描述
对应第二个暴露
在这里插入图片描述
和之前一样
在这里插入图片描述

总结

在这里插入图片描述
exports与module.exports指向相同的地址={},
require是返回的module.exports的值,如果,exports=value则改变了exports的地址,如果时exports.xxx,则是给对象添加东西 ,而module.exports还是={}不变,当module.exports=value时,就可以直接返回。
所以exports =value不行。

导入模块

写相对路径更好,再fs模块用绝对路径更好
JSON与js文件名相同,优先导入js文件
不知道是什么文件的,会默认为js文件导入

在这里插入图片描述

导入模块基本流程

在这里插入图片描述
这个会输出,本文件的函数
在这里插入图片描述
伪代码

在这里插入图片描述
在这里插入图片描述
缓存的不是module.exports ,这个只是为了方便写
在这里插入图片描述

在这里插入图片描述
只执行一次,因为后面那个直接调用的时缓存

总结

在这里插入图片描述

包管理工具npm

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

注意事项

在这里插入图片描述

搜索包

在这里插入图片描述

require导入包

都行
在这里插入图片描述

在这里插入图片描述

生产环境和开发环境

在这里插入图片描述

全局安装

nodemon改了代码后不用让node.js重启了
在这里插入图片描述
局部安装,要用require导入,在package.json包中有显示,
全局使用,直接在命令行使用,包的位置也不一样
查看全局包的位置
在这里插入图片描述

不支持nodemon时

在这里插入图片描述
或者在vscode中用cmd终端运行。

安装所有包

根据包的依赖文件,用于在网上克隆项目后,直接下载所以依赖包
在这里插入图片描述

安装指定包和删除

在这里插入图片描述

配置命令别名

在scripts
后面时别名
npm run xxx 或者npm xxx
在这里插入图片描述

cmpm

建议了解
在这里插入图片描述

配置cnpm

建议配置,会快些
在这里插入图片描述
镜像地址
在这里插入图片描述
在这里插入图片描述

yarn

在这里插入图片描述
npm i 可以用yarn
在这里插入图片描述
在这里插入图片描述
需要改环境变量
在这里插入图片描述

npm和yarn的选择

不要混用
在这里插入图片描述

发布、更新和删除一个包

了解
在这里插入图片描述
在这里插入图片描述

拓展介绍

在这里插入图片描述

nvm介绍

管理node版本管理的工具
在这里插入图片描述
在这里插入图片描述

express框架

express是路由
在这里插入图片描述
在这里插入图片描述

使用

在这里插入图片描述
上面都不能的,最下面那个接着
在这里插入图片描述

获取请求参数

在这里插入图片描述
在这里插入图片描述

响应设置

在这里插入图片描述

中间件

相当于检票,一个车站有很多检票的
在这里插入图片描述

使用

就是访问日志,全局
next()就是调用回调函数
在这里插入图片描述

局部路由中间件
在这里插入图片描述

静态资源中间件

设置静态资源路径
在这里插入图片描述

注意事项

越上面的越能匹配
在这里插入图片描述

使用body-parser

响应一个表单
在这里插入图片描述
在这里插入图片描述
执行了中间件后,就会生成body
在这里插入图片描述

formidable

处理文件请求
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

防盗链

比如 复制网上的图片的地址,将它粘贴到Img标签中,有些可以展示,有些不可以展示。不可以展示的就是使用了防盗链。只允许某个网址访问,其他网址不能访问。

实践

在这里插入图片描述

路由模块化

在这里插入图片描述

模板引擎ejs

分离js和html
在这里插入图片描述

使用

在这里插入图片描述

列表渲染

在这里插入图片描述
分开的
在这里插入图片描述

ejs条件渲染

也可以分开
在这里插入图片描述

express中使用ejs

在这里插入图片描述

express-generator的使用

文件结构

在这里插入图片描述

文件上传

文件上传必须属性
在这里插入图片描述

案例

在这里插入图片描述
去掉点点,他就会和网址直接拼接,不会被路由所影响
在这里插入图片描述
在这里插入图片描述
已经配置了body包了
在这里插入图片描述
使用lowdb
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
获取信息
在这里插入图片描述
删除
在这里插入图片描述

MongoDB

在这里插入图片描述
在这里插入图片描述

核心概念

在这里插入图片描述

下载与安装

安装路径自己决定,启动服务,去mongodb的bin目录,数据库端:mongod启动,客户端时mongo启动
在这里插入图片描述

命令(了解)

不能选中数据库的字母,选中了按回车就可以了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样可以不用替换完
在这里插入图片描述

文档

如果被删除了会有标记is_deleted:true

mongoose

用代码操作
操作mongo数据库的

在这里插入图片描述

使用

open用once绑定事件,只连接一次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

插入文档

约束属性值

在这里插入图片描述
在这里插入图片描述

字段类型

在这里插入图片描述

字段验证

在这里插入图片描述

数据操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

条件控制

在这里插入图片描述
在这里插入图片描述

个性化读取

在这里插入图片描述
在这里插入图片描述

模块化

在这里插入图片描述
在这里插入图片描述
再拆
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven -- <dependencyManagement>管理子项目版本

背景&#xff1a; 一个旧项目&#xff0c;想使用mybatis-plus&#xff0c;想着这是比较基础的依赖包&#xff0c;就在父项目中添加对应依赖&#xff0c;如下: <!-- 依赖声明 --><dependencyManagement><dependencies><!-- mybatis-plus 依赖配置 -->&l…

JavaWeb(1)——HTML、CSS、JS 快速入门

JavaWeb 是使用 Java 技术来构建 Web 应用程序的一种方法。 HTML&#xff08;超文本标记语言&#xff0c;负责网页的结构&#xff09;是一种用于创建网页结构和内容的标记语言。它由一系列标签组成&#xff0c;每个标签都有特定的功能。开发人员可以使用 HTML 来定义页面的结构…

文字识别(OCR)介绍与开源方案对比

目录 文字识别&#xff08;OCR&#xff09;介绍与开源方案对比 一、OCR是什么 二、OCR基本原理说明 三、OCR基本实现流程 四、OCR开源项目调研 1、tesseract 2、PaddleOC 3、EasyOCR 4、chineseocr 5、chineseocr_lite 6、cnocr 7、商业付费OCR 1&#xff09;腾讯…

Self-Attention Cross-Attention

transformer的细节到底是怎么样的&#xff1f;Transformer 连环18问&#xff01; 4.1 从功能角度&#xff0c;Transformer Encoder的核心作用是提取特征&#xff0c;也有使用Transformer Decoder来提取特征。例如&#xff0c;一个人学习跳舞&#xff0c;Encoder是看别人是如何…

前端调整滚动条的外观样式

前端调整滚动条的外观样式 css主要分三个步骤 1、设置滚动条宽度 ::-webkit-scrollbar { width: 5px; } 效果&#xff1a;分别设置50px和5px宽度 2、设置里面小滑块的样式 ::-webkit-scrollbar-thumb {border-radius: 5px;-webkit-box-shadow: inset 0 0 5px rgba(0,0,0…

【Unity面试篇】Unity 面试题总结甄选 |Unity性能优化 | ❤️持续更新❤️

前言 关于Unity面试题相关的所有知识点&#xff1a;&#x1f431;‍&#x1f3cd;2023年Unity面试题大全&#xff0c;共十万字面试题总结【收藏一篇足够面试&#xff0c;持续更新】为了方便大家可以重点复习某个模块&#xff0c;所以将各方面的知识点进行了拆分并更新整理了新…

神经网络结构可视化-netron

网址&#xff1a;https://netron.app/ 点选择模型&#xff0c;将oonx文件拉到netron界面&#xff0c;即可 输出; 如何将pytorch模型转换为onnx的格式&#xff1f; 在测试&#xff08;训练好的模型&#xff09;里输入代码 to_onnx(model, 3, 28, 28, output/params.onnx)其…

Linux下软件安装的命令

源码安装 以源代码安装软件&#xff0c;每次都需要配置操作系统、配置编译参数、实际编译&#xff0c;最后还要依据个人喜好的方式来安装软件。这个过程很麻烦很累人。 RPM安装软件的默认路径: 注意&#xff1a; /etc 配置文件放置目录/usr/bin 一些可执行文件/usr/lib 一些程…

MySql数据库的学习

MySQL 是最流行的关系型数据库管理系统&#xff0c;在 WEB 应用方面 MySQL 是最好的 RDBMS&#xff08;Relational Database Management System&#xff1a;关系数据库管理系统&#xff09;应用软件之一。 参考博客&#xff1a;MySQL 教程 | 菜鸟教程 (runoob.com) 一、什么是…

界面控件DevExtreme UI组件——增强的API功能

虽然DevExtreme刚刚发布了v23.1&#xff0c;但今天我们仍然要继续总结一下之前的主要更新&#xff08;v22.2&#xff09;中发布的一些与DevExtreme API相关的重要特性。 DevExtreme拥有高性能的HTML5 / JavaScript小部件集合&#xff0c;使您可以利用现代Web开发堆栈&#xff…

二叉树进阶(搜索二叉树)

目录 引言 1.二叉搜索树的模拟实现 1.1 链式二叉树的定义 1.2 二叉搜索树的模拟实现 1.2.1 二叉搜索树的结点类 1.2.2 二叉搜索树类的构造与中序遍历实现 1.2.3 增 1.非递归实现 2.非递归实现 1.2.4 查 1.非递归实现 2.递归实现 1.2.5 删 1.非递归实现 (1)情…

基于C语言设计的足球信息查询系统

完整资料进入【数字空间】查看——baidu搜索"writebug" 需求分析与概要设计 2.1 项目说明 我们小组的选题主要是面向足球爱好者&#xff0c;在普通社交软件的基础之上&#xff0c;围绕足球的主题展开设计&#xff0c;以便于他们能够更好的交流相关的话题&#xff…