1.这里直接发起 POST 请求会报错

// app/router.js
module.exports = (app) => {app.router.post('/form', app.controller.form.post);
};// app/controller/form.js
exports.post = async (ctx) => {ctx.body = `body: ${JSON.stringify(ctx.request.body)}`;
};

这里在写例子的话可临时在 config/config.default.js 中设置

config.security = {csrf: {enable: false,// ignoreJSON: true,},// domainWhiteList: [ '*' ], // 配置白名单};

2.npm install egg-mysql 且配置过后后。npm run dev.报错

这是因为 8.0 之前的 mysql 版本,加密规则是 mysql_native_password,而在 8.0 之后,加密规则变为 caching_sha2_password。此时你如果用的是 8.0 以前的版本,那么通过 egg 启动项目连接数据库是没问题的,我们这里使用的是 8.0 以后的版本,所以就会出现上述错误

解决办法:

通过 mysql -u root -p 回车进入 mysql 如下所示:

use mysql;

alter user 'root'@'localhost' identified with mysql_native_password by '你的密码';

flush privileges;

上述指令的作用是,还原 MySQL 的加密规则,还原之后,你再 egg 项目中连接 MySQL 的时候,就不会报错了。

3.注意的变量

4.为什么使用Token

采用的鉴权模式是 token 令牌模式,出于多端考虑,token 可以运用在如网页、客户端、小程序、浏览器插件等等领域。如果选用 cookie 的形式鉴权,在客户端和小程序就无法使用这套接口,因为它们没有域的概念,而 cookie 是需要存在某个域下。

每次发起请求,无论是获取数据,还是提交数据,我们都需要将 token 带上,以此来标识,此次获取(GET)或提交(POST)是哪一个用户的行为。

服务端是怎么通过 token 来判断是哪一个用户在发起请求。既然 egg-jwt 有加密的功能,那也会有解密的功能。通过解密 token 拿到当初加密 token 时的信息,信息的内容大致就是当初注册时候的用户信息

必须在请求头中使用 Authorization 字段提供 token 令牌

const token = ctx.request.header.authorization; // 请求头获取 authorization 属性,值为 token

5.Egg解决ESlint格式报错

6.上传文件

// ctx.request.files[0] 表示获取第一个文件,若前端上传多个文件则可以遍历这个数组对象let f = fs.readFileSync(file.filepath)

 

 let f=fs.readFileSync(file.filepath);let day=moment(new Date()).format('YYYYMMDD')let dir=path.join(this.config.uploadDir,day)let date=Date.now();await mkdirp(dir)uploadDir=path.join(dir,date+path.extname(file.filename));fs.writeFileSync(uploadDir,f)

egg项目搭建 常见问题解决相关推荐

  1. maven项目搭建常见故障

    maven 长篇大论不会.理论不涉及. maven,终究就是一个代码管理工具.要区分与svn/git的区别:git/git是项目管理工具 核心:坐标. 主要好处:不需要维护jar之间的依赖,以及最新版 ...

  2. springmvc环境搭建以及常见问题解决

    1.新建maven工程 a)  打开eclipse,file->new->project->Maven->Maven Project b)  下一步 c)   选择创建的工程为 ...

  3. Android开发环境搭建及常见问题解决方法

    Android开发环境搭建及常见问题解决方法 参考文章: (1)Android开发环境搭建及常见问题解决方法 (2)https://www.cnblogs.com/rwxwsblog/p/476978 ...

  4. Hadoop环境搭建及常见问题解决(保姆级教程)

    Hadoop环境搭建及常见问题解决 零.资源准备 一.环境准备 1. 安装虚拟机 2. 环境准备 1) 创建新用户xiaobai 2) 安装ssh-server 3) 上传相关资源 [4)] 使用pu ...

  5. 【testlink】TestLink1.9.18常见问题解决方法

    前言 TestLink可以有效的管理测试的整个流程,因为测试是跟随着软件的整个生命周期直至结束,所以采用TestLink来管理测试流程. TestLink可以和Redmine的项目进行关联,testl ...

  6. maven 多项目搭建

    参考http://www.cnblogs.com/xdp-gacl/p/3498271.html . 1.什么是maven maven是基于项目对象模型(POM),是跨平台的管理工具,主要服务于jav ...

  7. [转]2020年排名前20的基于SpringBoot搭建的开源项目,帮你快速进行项目搭建!

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 287 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) SpringBoot ...

  8. asp.mvc 4项目发布文件目录结构_Spring Boot项目搭建与启动

    Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...

  9. 2020年排名前20的基于SpringBoot搭建的开源项目,帮你快速进行项目搭建!

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 287 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) SpringBoot ...

最新文章

  1. 从SQL Server CloudDBA 看云数据库智能化
  2. mysql常见报错解决办法
  3. 文件读写错误坑 之 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position
  4. 关于以追加模式写入文件时,为什么第一行是空行?
  5. Codeforces Round #584 (Div. 1 + Div. 2)
  6. 郑州大学远程教育学院C语言程序设计题库(二)
  7. Excel—“撤销工作表保护密码”的破解并获取原始密码
  8. 硬件FFT加速模块的应用
  9. 双系统扩展Linux内存
  10. 使用grub启动虚拟软盘的方法
  11. Linux Base VIII 压缩和解压缩命令
  12. JavaScript 事件委托
  13. 软件需求工程(第二章)
  14. 如何在Windows 11上的WSL2做到GPU直通,并用Deepracer本地训练炸干电脑的资源(显卡降价了,618等等党还等什么,一起来加入Deepracer的比赛学习交流吧)
  15. android 填充内存方法,安卓快速填满手机内存(转载)
  16. 计算机图形学 使用OpenGL的场景建模
  17. 贪心绝对值不等式-货仓选址
  18. 设计师必备的PPT辅助神器-iSlide
  19. Py之toad:toad的简介、安装、使用方法之详细攻略
  20. 一张图认识Python(附基本语法总结)

热门文章

  1. 使用PyTorch实现验证码识别
  2. 林志颖面部手术方案出炉!3D重建或将拯救他神仙颜值
  3. 爬取豆瓣《小丑》短评做词云图
  4. 一款基于unity3d的回合制RPG
  5. R语言主成分分析(1)
  6. 1.特定领域知识图谱知识融合方案(实体对齐):优酷领域知识图谱为例
  7. Vue小案例1:计数器
  8. pt-online-schema-change
  9. Google浏览器无法安装插件:This extension is not listed in the Chrome Web Store and may have been added without
  10. 央企招聘:中国人民银行2023年度招聘启事