![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Node
郑敬儒~
梅卡德尔
展开
-
用node实现socketIO实时通信
一般来说只有前端才能向后端请求,请求完成后端再做出响应反馈给前端。而socket.io机制就解决了后端可以主动向前端发出请求,通过该原理即可实现聊天室的功能。第三方包的安装首先应该安装socketio的第三方包,客户端安装:npm i socket.io-client服务端安装: npm i socket.io分别引入socket.io客户端:import io from 'socket.io-client'服务端: require('socket.io')服务端代码文件socketIO原创 2021-04-15 18:11:15 · 1062 阅读 · 0 评论 -
解决npm run eject报错
当我在配置隐藏文件,想让隐藏文件显示出来时,终端输入npm run eject 报错:报错原因git问题,你的版本库有未提交的文件,因为reject后会多出来一些文件。为了不影响。你应该把这些文件加到ignore里或者删掉。错误处理git initgit add .git commit -m 'save'npm run eject...原创 2021-03-30 17:08:47 · 505 阅读 · 0 评论 -
在项目中用node实现邮箱验证码的发送和验证
基础配置我的项目是react + node + MongoDB ,首先邮箱验证码的发送需要开启SMTP服务,这里我就不做过多赘述了,挺简单的,给大家一个地址照着这个做就行:https://jingyan.baidu.com/article/c35dbcb0eb01428917fcbc77.html然后,我们要在项目中安装 nodemailer 中间件,这个是发送邮箱验证码必不可少的 npm i nodemailer思路详解先看看我的项目目录结构下面展示的文件都只展示与邮箱验证码发送有关的原创 2021-03-27 13:50:00 · 1089 阅读 · 0 评论 -
jwt 解码token
1.引入 jwt 模块npm i jsonwebtoken原创 2021-03-24 13:52:21 · 178 阅读 · 0 评论 -
第一次在项目中使用token总结
使用token进行身份验证,我的整体思路是:首先当用户第一次登录的时候向服务端发送请求,服务端接收到这个请求然后用jwt生成一个token,并把它返回给客户端,然后客户端用cookie进行保存,之后每一次客户端向服务端发送请求时都在请求头中携带这个token服务端收到请求,然后去验证客户端请求里面带着的 token,如果验证成功,就向客户端返回请求的数据1.首先需要在项目中安装jwt模块npm i jsonwebtoken2.然后在服务端文件中(我的项目中服务端入口文件是app.js,路由原创 2021-03-23 11:38:13 · 884 阅读 · 0 评论 -
跨域代理实现
// 1、设置跨域访问app.all('*', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*");// 这里设置允许所有跨域访问 res.header("Access-Control-Allow-Headers", "Content-Type,XFILENAME,XFILECATEGORY,XFILESIZE,set-cookie");//一定要在这里面加上自定义的请求头 res.h原创 2021-03-22 22:01:45 · 116 阅读 · 0 评论 -
解决 express使用art-template渲染HTML页面只显示源码
今天遇到一个问题就是 我在用express中使用模板引擎渲染一个HTML页面时 ,只显示源码,起初我以为我的模板引擎配置不完全,但是当我检查了很多次以后我发现我的模板引擎配置没有存在任何问题,但是浏览器中还是只显示了源码,于是我查阅了资料,应该在请求中加入这样一行代码规定浏览器以HTML解析内容这是很多人最初都会犯的一个错误,加入这行代码以后我们就可以看到HTML页面已经被渲染出来了...原创 2021-03-03 20:20:07 · 437 阅读 · 1 评论 -
express 中如何使用路由模块
在node开发项目中,我们通常会默认把路由全部放在根目录的router.js这个文件中。然后,我的 项目入口文件是 根目录下的app.js。Express 提供了一种专门用来包装路由的方式。我们需要先在 router.js 中引入 express创建一个 路由容器把路由全都挂载到 router 路由容器中把 router 导出回到入口文件 app.js 中,加载router.js这个文件,同时 把路由容器挂载到 app 服务中...原创 2021-01-25 17:02:35 · 204 阅读 · 0 评论 -
在express中配置解析表单post请求体数据
在express中,没有内置获取表单 POST 请求体的 API,这里我们需要使用一个第三方包:body-parser当配置好body-parse中间件后,就可以直接通过 req.body 来获取表单 POST 请求体数据了一、安装 npm install --save body-parser二、配置var express = require('express')//引包var bodyParser = require('body-parser')var app = express原创 2021-01-25 09:37:02 · 645 阅读 · 0 评论 -
在Express中配置使用 art-template 模板引擎
一、安装在 express 中安装 art-template 需要执行两个命令: npm install --save art0-template npm install --save express-art-template二、配置 app.engine('art',require('express-art-template'))三、使用Express为response响应对象提供了一个方法:render render 方法默认是不可以使用的,只有配置了模板引擎就可以使用了。r原创 2021-01-24 22:23:11 · 338 阅读 · 3 评论 -
解决vscode nodemon执行报错问题
今天在安装nodemon的时候,出现了一个问题。就是关于我的安装可以在配置文件里看到已经安装成功了,但是我在控制行使用nodemon运行文件时却报了错,错误提示是这样的:于是我发现这是由于系统上禁止运行这些脚本。解决方法如下:1.以管理员的身份打开powerShell2. 输入set-ExecutionPolicy RemoteSigned3.选择 A 或者 Y4. 重新运行nodemon,就会发现已经运行成功了。...原创 2021-01-24 18:59:42 · 1169 阅读 · 0 评论 -
解决 npm 被墙问题
由于 npm 存储包的服务器在国外,有时候会被墙,速度很慢,所以我们可以通过下载淘宝的cnpm镜像来解决npm被墙问题。http://npm.taobao.org/这是淘宝的开发团队把 npm 在国内做了一个备份。首先,安装淘宝的 cnpm:// 在任意目录执行都可以**--global 表示安装到全局,而非当前目录** npm install --global cnpm然后当你把淘宝镜像的 cnpm 安装好以后,在接下来项目过程中安装包时 只需要把之前的 npm 替换成 c.原创 2021-01-24 12:15:01 · 575 阅读 · 0 评论 -
node---模块系统的加载和导出规则
一、加载 require语法: var 自定义变量名称 = require('模块')该方法的两个作用:执行被加载模块中的代码2.拿到被加载文件模块导出的接口对象二、导出 exportsnode中只有模块作用域,默认文件中所有的成员只在当前文件模块中有效。对于希望可以被其他模块访问的成员,我们就需要把这些要公开的成员挂载到exports接口对象上。1.导出多个成员(必须在对象中)exports.a = 123exports.b = 'hello'exports.c = func原创 2021-01-23 17:07:53 · 119 阅读 · 1 评论 -
如何通过服务器让客户端重定向?
如何通过服务器让客户端重定向?将状态码设置为 302 临时重定向 res.statusCode = 302在响应头中通过 Location 告诉客户端往哪儿重定向res.setHeader('Location','/')如果客户端发现收到的服务器的响应状态码是 302 就会自动去响应头中找 Location, 然后对该地址发起新的请求。所以你就能看到客户端自动跳转了。一次请求对应一次响应,响应结束这次请求也就结束了。...原创 2021-01-23 13:24:24 · 442 阅读 · 0 评论 -
node中的 url.parse()方法
方法说明:使用 url.parse()方法将路径解析为一个方便操作的对象。第二个参数为 true 表示直接将查询字符串转为一个对象(通过query属性来访问),默认第二个参数为false。当第二个参数为false时如上图,当url为http://localhost:8080/one?a=index&t=article时,其中,pathname为不包含查询字符串的路径部分(即该路径不包含?后面的那些内容),query即是查询字符串部分。当第二个参数为true时,我们可以看到,第二原创 2021-01-23 11:46:17 · 7516 阅读 · 3 评论 -
处理网站中的静态资源
客户端浏览器收到 HTML 响应内容之后,就要开始从上到下依次解析,在解析的过程中,如果发现:link 、 script 、 img 、 iframe 、 video 、 audio 等带有 src 或者 href(此处的href特指是link标签的href)属性标签(具有外链的资源)时,浏览器会自动对这些资源发起新的请求。同时,这类资源也被称为网站中的静态资源。我们为了方便的统一处理这些静态资源,所以我们约定把所有的静态资源都存放在public目录中。统一处理:把所有的静态资源全部放在 pub原创 2021-01-23 10:29:13 · 360 阅读 · 0 评论 -
在node中使用模板引擎---art-template
art-template是一个简约、超快的模板引擎;它不仅可以使用在浏览器中,也可以使用在node中。模板引擎最早是使用于服务器端,后来才发展到了前端。首先是它的安装,我们可以在官方文档中看到,它的安装只需要一行命令为了方便,下面是官网文档的地址:https://aui.github.io/art-template/zh-cn/index.html1.安装该命令在哪个目录下执行,就会把包安装到哪里,默认会安装在node_modules 目录中。node_modules 目录不支持更改。原创 2021-01-22 18:39:19 · 405 阅读 · 0 评论 -
node实现简单的HTTP服务
今天开始学node,看了一下简单的HTTP服务,记录一下。首先是var http = require('http')然后是针对于server创建servervar server = http.createServer()监听 request 请求事件,设置请求处理函数server.on('request', function (request, response){}注意: respone 对象有一个方法 write ,可以用来给客户端发送响应数据write可以使用多次,但是最后原创 2021-01-21 20:53:29 · 1354 阅读 · 0 评论 -
Node搜索包的流程
Node在使用模块名字来引入模块时,它会首先在当前目录的node_modules中寻找是否含有该模块,如果有,直接使用;如果没有,则去上一级目录的node_modules中寻找,如果有,直接使用;如果没有则再去上一级目录寻找,直到找到为止。直到找到磁盘的根目录,如果没有,则报错。...原创 2020-12-26 15:41:53 · 354 阅读 · 0 评论