海布里的冬季
码龄7年
  • 8,862
    被访问
  • 24
    原创
  • 151,955
    排名
  • 0
    粉丝
关注
提问 私信

个人简介:千淘万漉虽辛苦 吹尽狂沙始到金 javascript vue react nodejs

  • 加入CSDN时间: 2015-03-11
博客简介:

qq_26481279的博客

查看详细资料
  • 1
    领奖
    总分 57 当月 5
个人成就
  • 获得25次点赞
  • 内容获得6次评论
  • 获得13次收藏
创作历程
  • 3篇
    2021年
  • 23篇
    2020年
成就勋章
TA的专栏
  • javascript
    1篇
  • vue
    11篇
  • html+css
    2篇
  • 性能
    3篇
  • nodejs
    10篇
  • webpack
  • mysql
    1篇
  • vscode
    1篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jses6前端框架
  • 后端
    node.js
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Javascript中如何让多个异步按顺序执行

直接调用(异步调异步)function fn1() { setTimeout(() => { console.log('fn1执行') fn2('fn1传递过去的参数') }, 1000)}function fn2(data) { setTimeout(() => { console.log('fn2执行', data) fn3('fn2传递过去的参数') }, 1000)}function fn3(data) { setTimeout(() =>
原创
发布博客 2021.12.10 ·
546 阅读 ·
0 点赞 ·
0 评论

vue+axios将后端返回的图片流显示到img中

axios.get("接口地址", { responseType: "arraybuffer", params: 传给后端的数据 }) .then(response => { return ( "data:image/png;base64," + btoa( new Uint8Array(response.data).reduce( (data, byte) => data + String.fromCharCode.
原创
发布博客 2021.12.10 ·
435 阅读 ·
0 点赞 ·
0 评论

前端日常开发中,对于图片的处理与优化

一、使用工具进行图片压缩压缩 png 格式的图片npm install node-pngquant-nativeconst pngquant = require('node-pngquant-native')const fs = require('fs')fs.readFile('./aa.png', (err, buffer) => { if (err) throw err const resBuffer = pngquant.option({}).compress(buffer
原创
发布博客 2021.12.10 ·
514 阅读 ·
0 点赞 ·
0 评论

umy-ui 一个基于 vue 的 PC 端表格UI库,解决万级数据渲染卡顿问题,过万数据点击全选卡顿等等问题

npm安装npm install umy-ui按需引入在main.js中添加按需引入代码import { UTable } from 'umy-ui'Vue.use(UTable)示例 <template> <u-table :data="tableData" :border="false" style="width: 100%"> <template slot="empty"> 没有查询到符合条件
原创
发布博客 2020.12.15 ·
1805 阅读 ·
1 点赞 ·
1 评论

递归展开数组对象,根据主键递归查找树形数据中对应的数据

/** * * @param {Object} * @param {Array} arr 数组对象 * @param {String} childrenKey 子数组的key * @param {Number=} expandLevel 可选 展开的层级 * @param {String=} levelKey 可选 树形结构中元素的层级字段 层级从0开始 当expandLevel有值时 levelKey为必须 * @param {Boolean=} noParents 返回展开数组时不包含根节
原创
发布博客 2020.12.11 ·
311 阅读 ·
1 点赞 ·
1 评论

前端将后端返回的文件流转为excel并下载

在日常开发中,我们可能会遇到导出excel的情况,而后端此时给我们返回的是一个文件流,需要前端将文件流转为url地址进行下载。可以将这个方法封装成一个工具类,方便其他地方调用,我这里放到了utils.js里面import axios from 'axios'import Vue form 'vue'/** * 根据后端返回的文件流转为excel导出 * @param {Object} data */export function exportExcelMethod(data) { ax
原创
发布博客 2020.12.09 ·
909 阅读 ·
2 点赞 ·
2 评论

nodejs实现批量裁剪图片功能

1、初始化首先新建一个 tailor-img 文件夹,接着执行 npm init -y 初始化一个package.json2、安装相关插件archiver 压缩文件canvas 裁剪图片glob 批量获取路径npm i archiver canvas glob --save3、app.jsconst fs = require('fs')const { basename } = require('path')// 压缩文件const archiver = require('a
原创
发布博客 2020.11.20 ·
195 阅读 ·
1 点赞 ·
0 评论

前端代码优化:优化js中的条件语句

在开发过程中,由于追求开发速度,我们往往很多时候都没有注意代码的可读性与性能,这里介绍几个技巧,让你写出可读性强、简洁的js代码1、多个条件满足之一时,推荐使用Array.includes// 优化前function test(val) { if (val === 'js' || val === 'java' || val === 'python') { console.log('编程语言') }}// 优化后function test(val) { cosnt arr = ['js
原创
发布博客 2020.11.13 ·
36 阅读 ·
1 点赞 ·
2 评论

Performance --- 前端性能监控

一、什么是performanceperformance可以获取到当前页面中与性能相关的信息,可以检测到白屏时间、首屏时间、用户可操作的时间节点、页面总下载的时间、DNS查询的时间、TCP链接的时间等。二、前端性能主要测试点白屏时间:从打开网站到有内容渲染出来的时间点首屏时间:首屏内容渲染完毕的时间节点用户可操作时间节点:domready触发节点总下载时间:window.onload的触发节点新建个demo.html<!DOCTYPE html><html lang="
原创
发布博客 2020.11.13 ·
222 阅读 ·
2 点赞 ·
0 评论

webpack入门

一、webpack五大核心概念1、entry打包的入口,可以是字符串、数组或对象2、output打包的输出3、mode模式,可以分为开发模式(development)与生产模式(production),默认为生产模式4、loader默认只能处理js、json格式的文件,loader的作用就是将其他格式的文件,转换成webpack能够处理的文件5、pluginwebpack插件,每一个插件都有一个特定的功能,能处理loader无法处理的事情二、HtmlWebpackPlugin与Clea
原创
发布博客 2020.11.13 ·
25 阅读 ·
1 点赞 ·
0 评论

Vue项目首屏加载速度优化

一、路由懒加载1、作用提升用户体验,提升首屏组件加载速度,解决白屏问题2、代码示例2.1 未使用路由懒加载import Vue from 'vue'import Router from 'vue-router'import HelloWorld from '@/components/HelloWorld'Vue.use(Router)export default new Router({ routes: [ { path: '/', name: 'Hel
原创
发布博客 2020.11.13 ·
103 阅读 ·
0 点赞 ·
0 评论

如何在Vue项目中使用自定义字体

首先要得到自定义字体包(后缀名为.ttf, .otf, .eot等格式的字体包),可自行下载也可以问UI小姐姐要字体包,拿到字体包后进入项目中在assets文件夹下建一个fonts文件夹把拿到的字体包放到fonts文件夹中接着创建一个fonts.css文件在fonts.css文件中定义你所用的字体(这里以PingFang为例)@font-face: { font-family: 'PingFang-RE'; /* 重命名字体名 */ src: url('./PingFang\ Re.
原创
发布博客 2020.09.02 ·
498 阅读 ·
3 点赞 ·
0 评论

mysql基本语句

1.增use myblog;show tables;insert into users(username, `password`, realname) values ('zhangsan', '123', '张三');2.查use myblogs;show tables;select * from users; --查询所有select id,username form users; --查询id和usernameselect * from users where userna
原创
发布博客 2020.09.02 ·
41 阅读 ·
1 点赞 ·
0 评论

Nodejs开发,ORM框架Sequelize

一、什么是ORM对象关系映射(Object Relational Mapping,简称ORM)是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。
原创
发布博客 2020.09.02 ·
251 阅读 ·
1 点赞 ·
0 评论

Mongoose的数据检验与聚合管道

一、什么是mongoose的数据检验用户通过mongoose给mongodb数据库增加数据的时候,对数据的合法性进行的验证二、mongoose校验参数required:表示这个数据必须传入max:用于Number类型, 最大值min:用于Number类型, 最小值enum:枚举类型,要求数据必须满足枚举值enum:[‘0’, ‘1’, ‘2’]match:增加的数据必须符合match(正则)的规则maxlength:最大长度minlength:最小长度var mongoose = r
原创
发布博客 2020.08.10 ·
136 阅读 ·
1 点赞 ·
0 评论

Mongoose索引、Mongoose内置CURD方法、扩展Mongoose Model的静态方法和实例方法

一、Mongoose索引索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更快。MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的查询优化技巧。mongoose中除了以前创建索引的方式,我们也可以在定义Schema的时候指定创建索引。var mongoose = require('mongoose')var UserSchema = mongoose.Schema({ name: String, sn: { type: Str
原创
发布博客 2020.08.10 ·
58 阅读 ·
0 点赞 ·
0 评论

预定义模式修饰符、Getters与Setters自定义修饰符

一、mongoose预定义修饰符mongoose提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化var mongoose = require('mongoose')var NewsSchema = mongoose.Schema({ title: { type: String, trim: true // 定义mongoose模式修饰符,去掉左右空格 }, author: String, pic: String, content
原创
发布博客 2020.08.10 ·
69 阅读 ·
1 点赞 ·
0 评论

mongoose默认参数、模块化、性能测试

一、默认参数const mongoose = require('mongoose')mongoose.connect( 'mongodb://127.0.0.1:27017/eggcms', { useUnifiedTopology: true, useNewUrlParser: true }, (err) => { if (err) return console.log(err) console.log('数据库连接成功') }
原创
发布博客 2020.08.05 ·
119 阅读 ·
0 点赞 ·
0 评论

mongoose操作数据库

一、mongoose介绍mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具。mongoose是node.js的驱动,不能作为其他语言的驱动mongoose的特点:通过关系型数据库的思想来设计非关系型数据库基于mongodb驱动,简化操作mongoose的使用// 1.引入mongooseconst mongoose = require('mongoose')// 2.建立数据库连接mongoose.connect('mongodb://127.0.
原创
发布博客 2020.08.05 ·
81 阅读 ·
0 点赞 ·
0 评论

express结合multer实现文件上传功能

单文件上传:<!--add.ejs--><form action="/admin/nav/doAdd" method="post" enctype="multipart/form-data"> 标题:<input type="text" name="title" id="title"><br><br> 图片:<input type="file" name="pic" id="pic"><br><br
原创
发布博客 2020.08.04 ·
90 阅读 ·
1 点赞 ·
0 评论
加载更多