自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 WebWorker、ThreeJs的渲染和控制

在之前的项目经验中,如果使用threejs加载比较大的3d场景,那么在创建threejs的对象和绘制的时候,会占用浏览器线程执行一个大时长的任务,导致页面卡住,不能交互。那有什么即可以绘制canvas又不占用主线程的方法吗?今天它来了(其实已经来了很久了)使用WebWorker就可以实现在另外的线程中绘制canvas,从而做到不影响主线程。本文不会主要介绍WebWorker和Threejs基础知识,只是一篇实操(辛酸史),但是在必要的时候会提供相关的链接WebWorker。

2023-04-12 20:15:38 1196 1

原创 从npm迁移到pnpm:实现npm和pnpm之间的无缝迁移

随着npm的广泛使用,许多开发人员开始将其作为依赖管理工具。然而,随着npm的版本更新和社区的变化,一些开发人员可能会选择将npm迁移到另一个包管理器,如pnpm。本文将介绍如何实现npm和pnpm之间的无缝迁移。npm是一个轻量级的包管理器,它主要用于处理npm包,而pnpm是一个全功能的包管理器,它可以处理npm包和其他类型的依赖项。此外,pnpm还提供了一些高级功能,如版本控制和本地仓库。在项目正常运行之后,可以删除原本的。文件,保持项目的整洁。

2023-04-07 11:02:12 3233 1

原创 UniApp集成微信小程序原生分包

Uniapp 集成微信原生代码文件

2022-11-01 15:33:15 1094 1

原创 vue2 项目升级到vue3之后npm run build执行两遍打包

vue2 项目升级到vue3之后npm run build执行两遍打包实际是在 @vue/cli-service升级到5.0版本之后出现的问题先说解决方法两种办法执行 build 的时候加一个 --no-modulevue-cli-service build --no-module修改 browserslist,一般在 package.json 中或者单独的 .browserslistrc 文件中,添加一个 not ie 11package.json"browserslist"

2022-04-25 11:31:19 3937 9

原创 关于proxy一篇就够了

前言关注 vue2.0 的同学都知道, vue2.0 实现响应式的方式的是通过 Object.defineProperty,而 vue3.0的响应式实现是用的 ES6 的新语法 proxy 代理实现的。其实不是所有vue3.0 的 API 都是用 proxy 实现的,比如: ref 、computed,我们之后在解读 vue3 源码的时候详细解释在 vue3.0 生态圈不断完善的今天,我们不可忽视的需要了解 vue3.0 的语法和实现方式,3.0 中最核心的 API 不过就是 Proxy了,你真的

2021-01-12 15:06:04 2040 1

原创 vu3 createApp 的实现

createApp源码位置:https://github.com/vuejs/vue-next/blob/master/packages/runtime-dom/src/index.ts都是源码,比较干。。。v 3.0.4代码实现:/** * createApp 函数 */export const createApp = ((...args) => { const app = ensureRenderer().createApp(...args) // 开发环境 校验

2020-12-17 15:19:54 3055 1

原创 一次在 Vue3 中使用render函数的事故,从源码中找到了答案

一次在 Vue3 中使用render函数的事故,从源码中找到了答案第一遍看 vue3 的源码,有不对的地方,希望各位大佬能指出,感谢!!!Vue3 版本 3.0.4在 Vue3.0 创建组件时,在 render 函数中使用 setup 函数中返回的 ref 数据,无法动态绑定示例:Vue.createApp({ setup() { const elRef = Vue.ref(null) Vue.onMounted(() => { el

2020-12-09 11:05:50 3575 2

原创 面试题: Webpack 的 plugin 和 loader 有什么区别

webpack 的打包原理识别入口文件通过逐层识别模块依赖(Commonjs、amd或者es6的import,webpack都会对其进行分析,来获取代码的依赖)webpack做的就是分析代码,转换代码,编译代码,输出代码最终形成打包后的代码什么是 loaderloader 是文件加载器,能够加载资源文件,并对这些文件进行一些处理,诸如编译、压缩等,最终一起打包到指定的文件中。处理一个文件可以使用多个 loader,loader 的加载顺序和配置顺序是相反的第一个执行的 loader 接

2020-11-26 21:40:01 778

原创 面试题:VueRouter中的 hash 模式和 history 模式有什么区别

面试题:VueRouter中的 hash 模式和 history 模式有什么区别hash模式hash 模式的路由中带有 # 号hash 模式通过 window.onhashchange 方法监听路由的修改hash 模式在页面刷新的时候,发送的请求 url 是不带 # 后面的内容的hash 模式可以兼容部分低版本的浏览器hash 模式打包后,直接在浏览器中打开 /dist/index.html 可以正常的访问(原因是第 3 条指出的原因)history模式history 模式是使用正常的

2020-11-25 21:41:45 1889

原创 JS构造函数中返回不同的类型,使用 new 关键字 会创建什么样的实例?

JS构造函数中返回不同的类型,使用 new 关键字 会创建什么样的实例?1、构造函数中如果没有返回值var Foo = function() { }Foo.prototype.a = () => { console.log("a") }var foo = new Foo();console.log(foo)foo.a()返回 Foo 的实例,可以调用 原型上的方法2、构造函数中返回 原始类型 数据var Foo = function() { return t

2020-11-23 19:49:46 557

原创 nodejs监听本地文件的修改,自动上传到github

nodejs监听本地文件的修改,自动上传到github文章目录nodejs监听本地文件的修改,自动上传到github思路实现准备工作日志处理消息提示(可有可无,设置自启动后,消息提示不会再生效了)上传到github监听文件启动项目设置开机自启动再package.json中配置启动命令注意事项启动服务遗留问题代码地址:https://github.com/wukang0718/markdownFile思路监听本地文件的修改上传到github设置脚本开机自启动实现新创建一个项目,执行npm

2020-08-10 14:02:44 869

原创 javascript中的惰性函数

文章目录javascript中的惰性函数概念应用场景实现DOM元素添加事件的浏览器兼容做法其余常见应用场景javascript中的惰性函数概念惰性函数表示函数执行的分支在函数第一次带调用的时候执行,在第一次调用过程中,函数会被覆盖成一个新的适合执行的函数,之后的函数调用不会对原函数的分支进行调用。应用场景实现DOM元素添加事件的浏览器兼容做法let addEvent = function(el, type, listener, capture) { // 只在函数第一次执行的时候,执行判

2020-08-09 14:32:37 286

原创 vue-router路由中对query中的参数进行加密

vue-router路由中对query中的参数进行加密源码地址在文末在创建路由的时候,添加两个方法stringifyQuery: 序列化传入的query参数,方法可以接收一个对象参数在new Router的时候传递这个属性,在序列化query参数的就执行这个方法,不会执行默认的方法,序列化后在地址栏显示序列化之后的参数parseQuery: 解析地址栏参数,方法接收一个字符串参数在new Router的时候传递这个属性,在解析query参数的时候,回执行这个方法,不会在执行默认的方

2020-07-02 20:17:47 7516 24

原创 开发 在 vue 中使用的 htmlWebpackPlugin 插件

开发 在 vue 中使用的 htmlWebpackPlugin 插件htmlWebpackPlugin 版本在node_modules\_@[email protected]@@vue 文件夹下查看package.json, vue内置使用的 3.2.0 版本的插件 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xmft6tNo-1591238348055)(https://note.youdao.com/yws/api/p

2020-06-04 10:40:08 3435

原创 vue报错Maximum call stack size exceeded

Vue中报错 Error in nextTick: “RangeError: Maximum call stack size exceeded”原因:在vue中引入的组件的 name 和 组件本身的 name 值一样是,会出现这个问题解决:修改其中任意一个组件的name属性即可注意:在使用Vue框架中,避免出现组件的 name 重复,和路由的 name 重复的情况 ...

2020-05-21 15:35:52 1669

原创 Vue.prototype挂载调用组件的方法

需要使用Vue.extend方式,把引入的组件对象,变成VueComponent构造函数,然后就可以实例化这个函数,创建组件实例化组件el是必传字段实例化的组件.$el可以获得组件最外层的元素,将元素挂载在指定的位置(示例中挂载的body中,如果要挂载指定的元素,元素可以通过参数的方式,传入到方法中)如果在方法关闭的时候,没有删除该组件的根元素,再次调用方法,会重新创建组件并挂载,会造成多个无用组件的产生(实例中调用方法展示的是弹出框,在弹出框关闭,并且动画结束后,删除该组件)impo

2020-05-18 16:25:41 3032

原创 前端获取到的是文件流,转成Blob再转成File类型传到后端的时候,文件乱码

前端获取到的是文件流,转成Blob再转成File类型传到后端的时候,文件乱码 /** * 把字符串或者二进制转成arrayBuffer再做unicode编码 * 用转码后的buffer转成Blob和File对象时,获取到的文件不会出现中文乱码的问题 * @param {String} string * @returns {ArrayBuffer}...

2020-04-09 16:08:29 3088

原创 css设置文本两端对齐

width: 70px;display: inline-block;text-align:justify;text-align-last: justify;text-justify: distribute;

2020-03-25 12:02:19 260

原创 使用gulp打包传统项目

使用gulp打包传统项目传统的开发项目,基于jquery和bootstrap框架做的开发现在需要对项目做压缩处理,但是不能修改文件的相对位置创建一个项目将项目源码放在src目录下,执行 npm init新建一个gulpfile.js,这是gulp运行需要的文件,所有的gulp的任务都是在这个文件里执行的安装gulp依赖(gulp和cli) npm install gul...

2020-03-10 13:34:24 972 3

原创 火狐设置flex布局,设置了flex值,内容还是溢出元素

MDN有解释需要加min-width或者min-height属性,如: .table-container { height: 0; min-height: 0; // 设置min-height兼容火狐 flex: 1; } .right-container { flex: 1; width: 0; min-width:...

2019-12-24 17:22:27 2162

原创 linux 离线安装nginx

检查gcc安装 gcc --version检查g++安装 g++ --version缺少的话需要安装 下载centOS ios安装包解压, 打开Packages文件夹, 找到下面文件,传入服务器autogen-libopts-5.18-5.el7.x86_64.rpmcpp-4.8.5-11.el7.x86_64.rpmgcc-4.8.5-11.el7.x86_6...

2019-12-13 10:49:31 306

原创 linux安装redis

linux安装redis先去官网下载 Redis 安装包 https://redis.io/download放到服务器目录,进入所在位置解压文件 tar -zxvf redis-3.0.5.tar.gz进入解压后的目录 cd redis-3.0.5编译程序 make安装 make install PREFIX=/usr/loca...

2019-12-13 10:48:24 67

原创 linux 安装jdk

linux 安装jdk下载tar.gz的压缩包,官方地址 http://www.oracle.com/technetwork/java/javase/downloads/下载完成传到服务器,进入文件夹 tar -zxvf jdk-7u80-linux-x64.tar.gz添加环境变量,编辑配置文件 vim /etc/profile # 在文件最...

2019-12-13 10:45:10 81

原创 Taro UI 样式在微信小程序没有生效

Taro UI引入的都没有问题,但是微信小程序没有生效这是官网的描述检查你的微信开发者工具修改调试基础库 ---- 用最高的版本即可

2019-12-07 11:19:07 2014

原创 bootstrap fileinput上传文件插件 删除文件方法

bootstrap fileinput上传文件插件 删除文件方法在fileinput的options中配置 $("#file-input").fileinput({ ajaxDeleteSettings: { type: 'POST', contentType: 'application/json;charset=utf-8...

2019-10-06 21:18:13 3549

原创 nodejs连接mysql

nodejs连接mysql执行npm install mysql --save const mysql = require("mysql"); const connection = mysql.createConnection({ host: "localhost", // 主机名 port: 3306, // 端口号,默认3306 ...

2019-08-10 23:36:05 656

原创 nginx设置编码格式utf-8

nginx设置编码格式utf-8在server下配置charset utf-8; server { listen 8000; server_name localhost; charset utf-8; }后台使用tomcat时,get请求参数乱码更改nginx编码格式设置无效需要更改tomcat编...

2019-08-07 21:49:43 31306

原创 基础sql语句 sql创建表格 sql删除表格 sql创建数据库 sql删除数据库

基础sql语句删除数据库 DROP DATABASE IF EXISTS database;创建数据库 CREATE DATABASE database charset=utf8;进入数据库 USE database; 创建表格 CREATE TABLE info ( id INT PRIMARY KEY, titl...

2019-08-05 22:06:47 435

原创 scss Media query expression must begin with ‘(’

Media query expression must begin with ‘(’@import 结尾缺少; @import './color.scss'在结尾加上;就好了 @import './color.scss';

2019-08-04 17:47:16 6343

原创 react引用scss全局的变量 react scss-load 配置一个全局变量文件

react引用scss全局的变量 react scss-load 配置一个全局变量文件需要一个sass-resources-loader 的插件 npm install sass-resources-loader --save-dev下载太慢的话,也可以使用cnpm修改config/webpack.config.js在getStyleLoaders函数后面加上sass-res...

2019-08-04 17:33:57 2817

原创 git 上传所有新文件

git 上传所有新文件 git add -A git commit -a -m"上传所有文件"

2019-08-04 08:59:02 1046

原创 基于nginx的HTTPS服务

基于nginx的HTTPS服务为什么需要HTTPS因为HTTP不安全传输数据被中间人盗用、信息泄露数据内容劫持、篡改HTtPS协议的实现对传输内容进行加密以及身份验证 Syntax: ssl on | off; Default: ssl off; Context: http, server Syntax: ssl_certificate fi...

2019-08-03 22:29:43 116

原创 nginx rewrite规则和动静分离

nginx rewrite规则实现url的重写以及对匹配的url的重定向配置语法 # regex 要匹配的路径 # replacement 要跳转的路径 # flag 标记ngin rewrite的类型 Syntax: rewrire regex replacement [flag]; Default: -- Context: server, location...

2019-08-03 10:49:35 177

原创 nginx缓存

nginx缓存配置语法proxy_cache Syntax: proxy_cache zone | off; Default: proxy_cache off; Context: http, server, location缓存过去周期配置 Syntax: proxy_cache_valid [code...] time; Default: -- Context...

2019-08-02 22:05:04 474

原创 nginx做代理服务

nginx做代理服务正向代理反向代理代理区别区别在于代理的对象不一样正向代理,代理的对象是客户端反向代理,反向代理的对象是服务端nginx配置语法 Systax: proxy_pass URL; Default: -- Context: location, if in location, limit_except ...

2019-08-02 20:35:27 233

原创 nginx作静态web资源静态服务

nginx作静态web资源静态服务nginx做为静态资源的http web server可以接收客户端jpeg\html\flv之类的静态资源请求可以直接通过静态资源的存储得到这些文件,返回到客户端,这种方式是一个典型的非常高效的传输模式这种场景常常会用于对于静态资源的处理请求以及动静分离场景下的应用动态资源在请求一个网站的时候可以简单的分为静态请求和动态请求动态请求需要经过服务...

2019-08-01 22:37:44 248

原创 nginx负载均衡完整篇

nginx负载均衡为什么需要负载均衡服务最开始的部署模型都是点对点的部署,但是随着企业的用户的增长以及带来的客户的海量的请求,给服务端带来海量的并发,导致服务的响应不及时这个时候就需要不断的扩容后端的服务,对于前端就需要负载均衡来均分请求,以提升整体的后端的吞吐率所以对于请求而言,负载均衡就可以很好的均摊请求,让后端的整体的吞吐率和性能不断的增加,以满足业务增长和需求另外点对...

2019-07-30 22:31:37 193

原创 nginx:[error]OpenEvent("Global\ngx_reload_22200")failed(2: The system cannot find the file specified

nginx: [error] OpenEvent(“Global\ngx_reload_22200”) failed (2: The system cannot find the file specified)在windows执行nginx -s reload 时报错原因:nginx没有启动解决:重新启动一下得到解决...

2019-07-29 20:40:43 2024

原创 My97时间插件使用、My97设置日期控件日期格式

My97设置日期控件日期格式需要什么格式的只需要修改dateFmt的值就可以了<input type="text" id="d233" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"/>yMdHmswW分别代表年月日时分秒星期周,你可以任意组合这些元素来自定义你个性化的日期格式...

2019-07-27 15:41:08 1241

转载 md文件的编辑

转 md文件的编辑 ...

2019-07-27 10:49:26 1119

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除