Nodejs笔记2

模块化

模块化初体验

模块暴露数据

导入模块

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.hqwc.cn/news/700673.html

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

相关文章

上位机图像处理和嵌入式模块部署(树莓派4b和电源供给)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面,我们说过pc电脑和嵌入式设备,两者都可以实现相同的软件功能。但是和pc相比较,嵌入式设备不仅价格更便宜&a…

24深圳杯C题18页高质量论文+可执行代码+图表

比赛题目的完整版思路可执行代码数据参考论文都会在第一时间更新上传的,大家可以参考我往期的资料,所有的资料数据以及到最后更新的参考论文都是一次付费后续免费的。注意:(建议先下单占坑,因为随着后续我们更新资料数…

129.哈希表:有效的字母异位词(力扣)

242. 有效的字母异位词 - 力扣(LeetCode) 题目描述 代码解决以及思路 这个方法的时间复杂度为O(N),其中N是字符串的长度,空间复杂度为O(1)(因为辅助数组的大小是固定的26)。 class Solution { public:bo…

智能终端RK3568主板在智慧公交条形屏项目的应用,支持鸿蒙,支持全国产化

基于AIoT-3568A的智慧公交条形屏,可支持公交线路动态展示,语音到站提醒,减少过乘、漏乘的情况,有效提高了公交服务效率和质量,为乘客提供了更舒适、更安全和更方便的出行体验,为城市的发展增添了新的活力。…

在idea中使用vue

一、安装node.js 1、在node.js官网(下载 | Node.js 中文网)上下载适合自己电脑版本的node.js压缩包 2、下载完成后进行解压并安装,一定要记住自己的安装路径 一直点击next即可,这部选第一个 3、安装成功后,按住winR输入…

嵌入式科普(16)c语言函数参数的传递方式

目录 一、概述 二、C函数参数 2.1 一张图讲清 2.2 按数据类型分类: 2.2.1 基本数据类型参数: 2.2.2 数组参数: 2.2.3 结构体参数: 2.2.4 指针参数: 2.2.5 函数指针参数: 2.3 按传递方式分类&…

具身触觉社区| “大咖面对面”第一期活动顺利举行

4月27日,由中国人工智能学会认知系统与信息处理专委会组织的“具身触觉社区”第一期“大咖面对面”分享活动顺利举行,我们邀请到了美国麻省理工学院(MIT)博士、视触觉传感器的奠基人、GelSight指尖传感器发明人李瑞老师为社区带来…

原生小程序开发如何使用 tailwindcss

原生小程序开发如何使用 tailwindcss 原生小程序开发如何使用 tailwindcss 前言什么是 weapp-tailwindcss ?0. 准备环境以及小程序项目1. 安装与配置 tailwindcss 0. 使用包管理器安装 tailwindcss1. 在项目目录下创建 postcss.config.js 并注册 tailwindcss2. 配置 tailwind…

SpringBoot项目的项目部署全过程

一、前端 安装nginx 1.将提前准备好的nginx的安装包上传到Linux中/opt目录下(我用的是Xftp) 2.解压 2.1:在xshell中解压该文件: tar -zxvf nginx-1.20.1.tar.gz 2.2:进入解压后的目录 cd nginx-1.20.1/ 2.3:安装需要的依赖 yum -y install zlib zlib-devel openssl openssl-de…

HTML特殊字符

特殊字符 有特殊含义的字符成为字符实体 对于有特殊含义的字符,需要通过转移字符来表示 <span> <br><a href"http://www.atguigu.com">我 爱 前端</a> <br>&amp;amp; 效果

【经验总结】超算互联网服务器 transformers 加载本地模型

1. 背景 使用 超算互联网 的云服务&#xff0c;不能连接外网&#xff0c;只能把模型下载到本地&#xff0c;再上传上去到云服务。 2. 模型下载 在 模型中 https://huggingface.co/models 找到所需的模型后 点击下载 config.json pytorch_model.bin vocab.txt 3. 上传模型文…

AcqKnowledge 5.0使用方法

Biopac 数据导入 matlab 处理方法 第一步&#xff1a;在 AcqKnowledge 软件中&#xff0c;将数据通道的 mark 信息导入到 Graph&#xff0c;并将数据存储为 acq3 的格式 第二步&#xff1a;MATLAB中读取acq3文件脚本 clc clear %%%所有被试这一层路径 pathsub fullfile(file…