Nodejs笔记2

news2024/11/19 9:31:10

模块化

模块化初体验

模块暴露数据

导入模块

fs  写绝对路径          require写相对路径不会受到影响   ./../不能省略

js 和json文件后缀可以省略

如果存在 命名相同的js和json文件,优先导入js文件

导入文件夹时的情况

require导入模块的基本流程

         

commonJS模块化规范

包管理工具

npm

npm初始化包

init   initialization

npm搜索包

下载安装包

require导入npm包的基本流程

开发依赖和生产依赖

局部安装

npm全局安装

全局安装包的位置

装nodemon不成功,显示 无法加载文件,因为在此系统上禁止运行脚本的话,是因为执行策略受限制了

输入Set-ExecutionPolicy RemoteSigned,按y就可以解除限制了

修改windows执行策略

或者

再在集成终端中打开js文件

但第一种方法更好

powershell的权限比cmd高

Path 环境变量

npm安装包的所有依赖

node_modules文件夹不会存入版本库

当clone一个库时,没有node_modules,,此时需要先进行npm i 安装node-modules  即依赖包所存放位置的文件夹

npm安装指定版本的包  

删除依赖

npm uninstall 包名 这个也可以啊

npm配置命令别名

cnpm(了解即可,使用npm配置淘宝镜像)

 install -g cnpm --registry=http://registry.npmmirror.com

cnpm -v

npm配置淘宝镜像

切换注册地址 切换镜像时很方便

nrm ls

列出所支持的镜像地址

使用  nrm  use      + 地址名(taobao  或  npm)

taobao镜像只读不可上传            改为npm后可以上传

npm config list     检查配置是否成功

yarn

npm和yarn的选择

npm发布一个包(了解)

npm更新和删除包

包管理工具拓展介绍

nvm介绍与使用

GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.

https://github.com/coreybutler/nvm-windows

Releases · coreybutler/nvm-windows · GitHub

https://github.com/coreybutler/nvm-windows/releases

现在我感觉还用不到nvm等用的到的时候在装

主要是现在装要重新装一堆包

改设置

等用其他版本的时候

再装nvm 

安装包放在D:nvm

安装的第一个路径询问nvm装在哪

第二个路径问nodejs装在哪

express框架介绍

初体验

路由的介绍

        

获取请求报文参数

获取路由参数

params是req 请求对象上的的一个属性 用来存储所有 的路由参数,,id  是路由参数中的一个

路由参数练习

用require函数取json文件数据

res.end   内部写一个页面  内容部分使用${result.   }    

响应设置 

send方法调用后会自动地在响应头进行字符集的设置

send   不会出现乱码

express 相应设置可以进行连贯设置

其他响应

中间件介绍

全局中间件实践

路由中间件实践

静态资源中间件

实现静态资源响应,  参数是静态资源文件夹,也就是资源根目录

获取请求体数据

防盗链

防止外部网站盗用本站资源

原理

通过referer请求头判断请求来源

路由模块化

EJS模版引擎

npm i 具有向上寻找的特性,没有必要必须在方包的文件下进行安装,可以在下一级文件内直接进行npm i

初体验       基本逻辑

ejs列表渲染

ejs条件渲染

目标效果

express框架内部写ejs

1.设置模版引擎

2.设置模版文件的存放位置

使用path转为绝对路径

模版文件:具有模版语法内容的文件

路由内的响应render

render(‘模版文件名’,‘数据’)

模版文件后缀为ejs

express-generator

-e 文件夹名

创建出一个ejs框架文件夹

第一步:安装依赖  npm  i

app.js文件内

文件上传报文

文件上传也是在发送htp请求报文

express处理文件上传

存放文件名

案例

表单数据的提去

lowdb了解

shortid 

mongoDB

下载与安装

命令

数据库操作应用场景

mongoose

上文的mongodb命令行内交互命令

手动键入   极为麻烦

故而存在Mongoose包

使用流程

链接数据库补充说明

插入文档

在open的回调函数中进行

字段类型

字段验证   对文档属性的值进行验证

文档结构对象内书写

删除文档

条件删除

更新文档

{条件}{新的文档内容}  回调函数

更新单条

批量更新

读取文档

读取单条文档信息

根据ID获取文档

 

批量获取

条件控制

 

个性化读取

代码模块化

进行拆分

将重复代码放在db。js文件内

内部重复代码放入暴露函数内

抽离出来连接相关的操作

通过暴露函数实现对数据库的连接

模块化 二

结构对象和模型对象的创建是重复的

config文件用来设置db文件mongodb服务中连接数据库路径

图形化管理工具

案例记账本-结合数据库

模型文件

接口

接口的作用:实现前后端通信

restfulAPI

json-server

实例

搭建临时的接口服务

接口测试

启动json - server

Apipost

公共参数

放在同一个文件加下

公共请求头   查询字符串  请求体

文档功能

postman

会话控制

cookie

cookie特点

cookie信息放在请求头当中

流程

浏览器操作cookie

express中设置cookie

 express中删除cookie

这个cookie是一个临时对象,普通对象可以写的他基本都可以(设置cookie内容无限制)

express中读取cookie

session

 session中间件配置

设置中间件中第二个属性  又称    加盐

session的设置

session的读取

session的销毁

session和cookie的区别

注册流程

179-185

token

jwt

创建token

校验字符串

本地域名

配置HTTPS证书

服务器端完成

前后端开发拓展介绍

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

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

相关文章

大数据可视化实验(四):Excel数据可视化

目录 一、实验目的... 1 二、实验环境... 1 三、实验内容... 1 1)excel函数应用.. 1 2)数据透视图绘制... 3 四、总结与心得体会... 5 一、实验目的 1)掌握函数和公式的原理 2)掌握在单元格或编辑栏中直接输入带函数的公式…

react18【系列实用教程】react-router-dom —— 路由管理 (2024最新版)

类似 vue-router 安装 npm i react-router-domreact-router 中包含 native 的开发,仅网站开发,使用更轻量的 react-router-dom 即可 路由模式 history 模式需要后端支持,使用 createBrowserRouter 函数实现hash 模式无需后端支持,…

TypeScript学习日志-第二十六天(weakMap,weakSet,set,map)

weakMap,weakSet,set,map 一、set set 的基本用法如下: 二、map map 与 set 的 区别 就是 map 的 key 可以是引用类型 object array , map 的添加时使用 set 三、weakmap weakset weakmap和weakset 都是弱项 弱引用 其键必须是引用类型,不能是其它类…

RT Thread + CLion环境搭建

RT Thread CLion环境搭建 0.前言一、准备工具1. Env RT Thread v5.12.CLion安装3.编译及下载工具 二、新建Env工程三、CLion配置四、运行测试 0.前言 事情的起因是最近在使用RT Thread Studio时,发现默认的 rtt 内核版本及交叉编译链版本都过于陈旧,于…

【基本数据结构】链表

文章目录 前言链表简介头节点与尾节点特性 分类单向链表双向链表循环链表 单链表基本操作定义并初始化单链表读取节点插入节点删除节点修改节点 参考资料写在最后 前言 本系列专注更新基本数据结构,现有以下文章: 【算法与数据结构】数组. 【算法与数…

软件工程期末复习(6)需求分析的任务

需求分析 需求分析的任务 “建造一个软件系统的最困难的部分是决定要建造什么……没有别的工作在做错时会如此影响最终系统,没有别的工作比以后矫正更困难。” —— Fred Brooks 需求难以建立的原因&#x…

CAN模块开发问题概述

问题一 问题描述 工作环境:ECU外接canoe 操作:使用CANoe模拟发送NM报文,然后停发或者断开CANoe 现象:程序跑死,调用call stack查看压栈情况如下图所示 定位代码如下图所示。可见是由于CAN模块在设置Controller状态时…

tomcat--目录结构和文件组成

目录结构 目录说明bin服务启动,停止等相关程序和文件conf配置文件lib库目录logs日志记录webapps应用程序,应用部署目录workjsp编译后的结果文件,建议提前预热访问 /usr/local/apache-tomcat-8.5.100/work/Catalina/localhost/ROOT/org/apac…

[笔试训练](二十二)064:添加字符065:数组变换066:装箱问题

目录 064:添加字符 065:数组变换 066:装箱问题 064:添加字符 添加字符_牛客笔试题_牛客网 (nowcoder.com) 题目: 题解: 枚举所有A,B字符串可能的对应位置,得出对应位置不同字符数量的最小情况 两字符串的字符数量差n-m&…

Hadoop 3.4.0+HBase2.5.8+ZooKeeper3.8.4+Hive+Sqoop 分布式高可用集群部署安装 大数据系列二

创建服务器,参考 虚拟机创建服务器 节点名字节点IP系统版本master11192.168.50.11centos 8.5slave12192.168.50.12centos 8.5slave13192.168.50.13centos 8.5 1 下载组件 Hadoop:官网地址 Hbase:官网地址 ZooKeeper:官网下载 Hive:官网下载 Sqoop:官网下载 为方便同学…

【已解决】力扣打不开

表现: 1.访问国内其他网站都没有问题 2.访问github也能成功 3.wifi没有问题 4.连接同网络的其他主机能打开 唯独力扣打不开,可能是DNS解析错误 》自己网络配置问题 解决办法【亲测可行】 找可用的hosts 打开站长之家,进行DNS查询&#xff…

FreeRTOS事件标志组

目录 一、事件标志组的概念 1、事件标志位 2、事件标志组 二、事件标志组相关API 1、创建事件标志组 2、设置事件标志位 3、清除事件标志位 4、等待事件标志位 三、事件标志组实操 1、实验需求 2、CubeMX配置 3、代码实现 一、事件标志组的概念 1、事件标志位 表…

128.Mit6.S081-实验1-Xv6 and Unix utilities(下)

今天我们继续实验一接下来的内容。 一、pingpong(难度easy) 1.需求 编写一个程序&#xff0c;使用 UNIX 系统调用通过一对管道(每个方向一个管道)在两个进程之间 "ping-pong" 传递一个字节。父进程应该向子进程发送一个字节; 子进程应该打印<pid>: received p…

短视频语音合成:成都鼎茂宏升文化传媒公司

短视频语音合成&#xff1a;技术革新与创意融合的新篇章 随着科技的飞速发展&#xff0c;短视频已经成为人们生活中不可或缺的一部分。在这个快速变化的时代&#xff0c;短视频语音合成技术正逐渐崭露头角&#xff0c;以其独特的魅力和广泛的应用前景&#xff0c;吸引了众多创…

R语言:ROC分析

> install.packages("pROC") > library(pROC) > inputFile"结果.txt" > rtread.table(inputFile, headerT, sep"\t", check.namesF, row.names1) > head(rt) con treat TCGA-E2-A1L7-11A-con…

6. 第K小的和-二分

6.第K小的和 - 蓝桥云课 (lanqiao.cn) #include <bits/stdc.h> #define int long long #define endl \n using namespace std; int n,m,k,an[100005],bm[100005]; int check(int x){int res0;//序列C中<x的数的个数for(int i0;i<n;i){//遍历数组A&#xff0c;对于每…

怎么得到所有大写字母/小写字母组成的字符串

有时候&#xff0c;可能需要获取a~z、A~Z组成的26个字母的字符串&#xff0c;这篇文章介绍一种简单的方法。 只需要几句简单到不能再简单的代码&#xff01;你不会还在傻傻地一个个字母敲吧~ /*** author heyunlin* version 1.0*/ public class Example {/*** 小写字母*/priv…

Vscode编辑器 js 输入log自动补全

最近换了新电脑&#xff0c;新下载了Vscode&#xff0c;记录一下设置项。 Vscode 版本 想要的效果 js文件中输入log&#xff08;点击tab键&#xff09;&#xff0c;自动补全为 console.log() Vscode 文件》首选项》设置 搜索&#xff1a;snippets Emmet: Show Suggestions…

HTML常用标签-表单标签

表单标签 1 表单标签2 表单项标签2.1 单行文本框2.2 密码框2.3 单选框2.4 复选框2.5 下拉框2.6 按钮2.7 隐藏域2.8 多行文本框2.9 文件标签 1 表单标签 表单标签,可以实现让用户在界面上输入各种信息并提交的一种标签. 是向服务端发送数据主要的方式之一 form标签,表单标签,其内…

3ds Max与Maya不同之处?两者哪个更适合云渲染?

3ds Max 和 Maya 都是知名的3D软件&#xff0c;各有其特色。3ds Max 以直观的建模和丰富的插件生态闻名&#xff1b;Maya 则在动画和角色创作方面更为出色。两者都支持云渲染技术&#xff0c;能帮助用户在云端高效完成项目。 一、3ds Max和Maya之间的主要区别&#xff1a; 3ds…