nodejs/egg.js/koa2/koa
nodejs/egg.js/koa2/koa
大厂数码评测员
如果你看到这句话,幸运值+1
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
uniapp 微信小程序 web-view上传文件的真机调试方法。
需求: 需要上传用户手机文件管理器里的文件,而微信小程序没有提供相关接口,因此需要小程序加载一个H5页面,放置一个上传文件按钮,用户点击按钮打开用户的文件管理器从而上传手机里的文件。但是web-view只允许填写一个url,也就是H5的程序必须单独部署在一个地方。但在开发阶段,前端往往没有服务器资源,无法实时部署和调试H5程序。 因此我的解决方案是,利用egg运行一个服务器环境,然后把H5项目打包后放在egg静态资源文件夹下,web-view填写改静态资源的地址,从而实现H5资源的访问。步骤如下: 1.完成原创 2022-04-19 15:09:02 · 1846 阅读 · 0 评论 -
腾讯云/阿里云 宝塔linux面板 部署nodejs(egg)项目和vue项目
我的服务器类型(宝塔linux面板): 点击服务器 选择管理应用: 根据提示进入面板首页: 输入地址: 输入密码和账号进行登陆: 账号和密码获取方法: 登陆后,上传你的代码文件,在这里我上传了打包后的vue的dist文件夹,及egg.js项目文件。记得两个文件都不携带node_modules: 在软件商店我安装了这些插件,你们根据实际进行按照,提示缺啥就按照啥。 因为我的egg.js需要使用端口7001,所以在“安全”这里放行了端口7001: 因为我egg.js项目需要使用数据库,所以我原创 2022-04-11 22:59:49 · 970 阅读 · 0 评论 -
node egg.js 拼接sql语句实现模糊条件查询
应用场景: 1.满足用户在页面初始化时(即“课程名称”和“星期”都为空)点击“查询”按钮,能够查询出全部的数据。 2.满足用户只输入“课程名称“可以进行模糊查询 3.满足用户只选择“星期”就可以进行模糊查询 使用下面代码的前置要求:前端只把有值的key传给后端。比如查询条件{name:'', age:undefined, sex:'1'}那么只有{sex:'1'}会传到后端。 代码: // 查询数据库 async getCourse(params) { try { const原创 2022-03-27 20:00:24 · 1295 阅读 · 0 评论 -
egg.js egg-mysql中sql学习的 - 个人笔记
Create 可以直接使用 insert 方法插入一条记录。 const result = await this.app.mysql.insert('posts', { title: 'Hello World' }); // 在 post 表中,插入 title 为 Hello World 的记录 等同于 => INSERT INTO `posts`(`title`) VALUES('Hello World'); Read 可以直接使用 get 方法或 select 方法获取一条或多条记录。sel转载 2022-03-27 14:03:45 · 1387 阅读 · 0 评论 -
egg 访问静态html页面文件(搭建一个类似tomcat的服务器环境)
静态资源存放路径: 静态资源文件内容: 访问该静态文件: 前端就可以自己搭建一个网页容器来存放html资源,类似于tomcat的效果。原创 2022-03-22 22:59:21 · 1028 阅读 · 0 评论 -
egg.js查询出某个表的数据个数
service/home.js 'use strict'; const Service = require('egg').Service; class homeService extends Service { // 查询数据库 async getData() { try { const app = this.app; const classData = await app.mysql.select('class'); const studentDa原创 2022-03-15 23:38:10 · 855 阅读 · 0 评论 -
egg.js实现接口的增删改查
service/student.js 'use strict'; const Service = require('egg').Service; class studentService extends Service { // 添加数据库 async addStudent(params) { try { const { app } = this; const res = await app.mysql.insert('student', params);原创 2022-01-05 22:56:26 · 856 阅读 · 0 评论 -
egg.js过滤页面传过来的参数 过滤去除对象的空字符串属性
假设拿到的参数对象叫params for (const propName in params) { if (params[propName] === null || params[propName] === undefined || params[propName] === '') { delete params[propName]; } } const res = await app.mysql.select('exa原创 2022-01-05 22:53:11 · 707 阅读 · 0 评论 -
egg.js接收get请求参数和post请求参数
get请求 let query = this.ctx.query; post请求 let query = this.ctx.request.body; 返回给前端的方式 this.ctx.body = { code: 0, data: '返回的数据', msg: '错误数据' }原创 2021-12-24 13:59:38 · 1800 阅读 · 0 评论 -
mongodb://127.0.0.1:27017/egg-mongo disconnected(nodejs.MongoNetworkError: [egg-mongoose]failed... )
npm run dev 突然无法启动egg.js程序,一脸懵逼。查看控制台发现如下报错: 2021-02-19 16:49:43,613 ERROR 6152 [egg-mongoose] mongodb://127.0.0.1:27017/egg-mongo disconnected 2021-02-19 16:49:43,615 ERROR 6152 nodejs.MongoNetworkError: [egg-mongoose]failed to connect to server [127.0.0.原创 2021-02-19 17:18:18 · 1404 阅读 · 0 评论 -
egg.js获取前端请求的参数
1.如果是post,且参数放在body里面 2.如果是get请求,且参数跟在url后面,以www.xxxx?params1=xxx的形式 3.如果是get请求,且参数跟在url后面,以www.xxxx/params1/params2的形式原创 2020-12-30 16:06:01 · 2383 阅读 · 1 评论 -
egg.js POST参数接收不到
使用Egg写接口时,当请求为POST请求,使用ctx.request.body即可接收到参数。如果Body为form-data时,用ctx.request.body是接收不到参数的,那是因为Egg封装里面只接收x-www-form-urlencoded这种类型我们只要将Body的类型改为x-www-form-urlencoded即可用ctx.request.body接收参数 x-www-form-urlencoded 多个字段值用 & 拼接,用于传文本。(「窗体数据被编码为名称/值对」) form转载 2020-12-30 15:21:26 · 2416 阅读 · 3 评论 -
invalid csrf token. See https://eggjs.org/zh-cn/core/security.html#安全威胁csrf的防范
原因: egg 框架内置了安全系统,默认开启防止 XSS 攻击 和 CSRF 攻击。 在Security的默认拦截器里,默认会开启CSRF处理,判断请求是否携带了token,如果没有就拒绝访问。并且,在请求为(GET|HEAD|TRACE|OPTIONS)时,则不会开启 解决方案: 在config.default.js中添加如下红框配置: config.security = { csrf: { enable: false, }, }; ...原创 2020-12-30 11:43:25 · 1805 阅读 · 0 评论 -
egg.js实现一个简单接口
其实脚手架生成的初始项目目录 app/controller/home.js 已经是个简单的例子。我们只要模仿它就好了。 1.在controller文件夹下新建一个js文件-> test.js 'use strict'; const Controller = require('egg').Controller; class TestController extends Controller { async index() { const { ctx } = this; const原创 2020-12-29 14:50:53 · 1531 阅读 · 0 评论 -
package.json中^和~的区别
webpack 项目的package.json 文件列出了项目所依赖的插件和库,同时也给出了对应的版本说明,但是在版本说明前面还有个符号:’^’(插入符号)和’~’(波浪符号),总结了下他们之间的区别: 例如: ‘~’(波浪符号):他会更新到当前minor version(也就是中间的那位数字)中最新的版本。放到我们的例子中就是:“exif-js”: “~2.3.0”,这个库会去匹配更新到2.3.x的最新版本,如果出了一个新的版本为2.4.0,则不会自动升级。波浪符号是曾经npm安装时候的默认符号,现在转载 2020-12-15 11:03:51 · 749 阅读 · 0 评论 -
Nodejs koa2基于jsonp方式实现跨域请求
JSONP原理 利用<script>标签没有跨域限制的漏洞,网页可以得到从其他来源动态产生的 JSON 数据。JSONP请求一定需要对方的服务器做支持才可以。 限制 JSONP只支持GET请求,JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。 koa2代码: router.get('/getData.jsonp', async ctx => { /...原创 2019-12-20 10:31:12 · 819 阅读 · 0 评论 -
Node.js Koa2实现JWT Token用户认证
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案 前置知识: 1.基于Token的身份验证 2.koa中文文档 案例为了更简洁易懂,使用postman来代替前端界面请求接口。 下面案例获取请求的name值来生成token 代码: const Koa = require('koa') const Router = require('koa-router') const jw...原创 2019-12-17 16:40:22 · 1584 阅读 · 3 评论
分享