- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 Vue3安装依赖报错The engine “node“ is incompatible with this module
有时候运行Vue3项目,安装依赖会报各种各样的错误如:info "fsevents@2.3.2" is an optional dependency and failed compatibility check. Excluding it from installation.error vue-types@4.0.3: The engine "node" is incompatible with this module. Expected version ">=12.16.0". Got "12.
2021-10-09 09:55:44 6925 4
原创 关于input上传图片遇到的兼容问题
如果选择的是同一个文件,火狐的change事件可以被触发。而谷歌和ie的change事件不能被触发。解决方法:清空input type=file的value$('.file').val('');
2021-09-23 09:19:26 310
原创 js图片url转base64
function convertImgToBase64(url, callback, outputFormat){ var canvas = document.createElement('CANVAS'), ctx = canvas.getContext('2d'), img = new Image; img.crossOrigin = 'Anonymous'; i...
2021-08-04 09:25:43 650
原创 js监听苹果手机自带按钮返回事件
$(function(){ pushHistory(); var bool=false; setTimeout(function(){ bool=true; },1500); window.addEventListener("popstate", function(e) { if(bool) { //执行自己想要执行的事件 $(".loading_screen").hide(); $(".loading_cont").hide(); } pushHistory();},
2021-05-13 15:05:50 918
原创 JS语法 ES6、ES7、ES8、ES9、ES10、ES11、ES12新特性
ES6 至 ES11 常用到的特性,包括还在规划的 ES12,只列举大概使用,详细介绍的话内容量将十分巨大。一. ES6(2015)类(class)class Man { constructor(name) { this.name = '小豪'; } console() { console.log(this.name); }}const man = new Man('小豪');man.console(); // 小豪2 .模块化(ES Module)//
2021-03-08 10:28:32 541
原创 js各种时间格式转换
时间戳转换成"yyyy-MM-dd" var b=1895932800000 function fmtDate(obj){ var date = new Date(obj); var y = 1900+date.getYear(); var m = "0"+(date.getMonth()+1); var d = "0"+date.getDate(); return y+"-"+m.substring(m.length-2,.
2020-09-02 11:03:07 1250
原创 Promise解决了什么问题
一:Promise解决了什么问题1.回调地狱问题2.代码的可读性问题3.信任问题二:什么是回调地狱所谓回调地狱就是指把函数作为参数层层嵌套请求,这样层层嵌套,人们称之为回调地狱,代码阅读性非常差。举个列子var sayhello = function (order, callback) { setTimeout(function () { console.log(order); callback(); }, 1000);}sayhello("first", functi
2020-08-18 16:13:02 5820 2
原创 优化 Webpack 的构建速度
1、使用高版本的 Webpack 和 Node.js2、多进程/多实例构建:HappyPack(不维护了)、thread-loader3、压缩代码webpack-paralle-uglify-pluginuglifyjs-webpack-plugin 开启 parallel 参数 (不支持ES6)terser-webpack-plugin 开启 parallel 参数多进程并行压缩通过 mini-css-extract-plugin 提取 Chunk 中的 CSS 代码到单独文件,通过 css
2020-06-04 10:41:51 343
原创 Vue优化2:常见会导致内存泄漏问题及优化
上篇博客说到vue自定义指令给元素绑定事件,事件没有解绑会造成内存泄漏,下面还有一种情况:v-if指令产生的内存泄露v-if也是一个容易产生内存泄漏的地方。因为:1、v-if绑定到false的值,但是实际上dom元素在隐藏的时候没有被真实的释放掉2、就是非常常见的比如我们通过v-if删除了父级元素,但是并没有移除父级元素里的dom片段。通常产生于使用第三方库的时候,比如下面的示例中,我们加载了一个带有非常多选项的选择框,然后我们用到了一个显示/隐藏按钮,通过一个 v-if 指令从虚拟 DOM 中添加
2020-05-27 15:05:30 2201
原创 Vue优化1:常见会导致内存泄漏问题及优化
在用 Vue 开发应用中,内存泄漏的问题会经常出现。这个问题在单页应用 (SPA) 中尤为重要,因为在 SPA 的设计中,用户使用它时是不需要刷新浏览器的,所以 JavaScript 应用需要自行清理组件来确保垃圾回收以预期的方式生效。因此在vue开发过程中,你需要时刻警惕内存泄漏的问题,这些内存泄漏往往会发生在使用 Vue 之外的其它进行 DOM 操作的三方库时,请确保测试应用的内存泄漏问题并在适当的时机做必要的组件清理。下面是我开发过程中遇到,并查资料总结的内存泄漏问题!一、vue自定义指令给元素绑定
2020-05-27 14:50:46 1556
原创 node环境端口号被占用导致Vue报错:Error listen EADDRINUSE :::3000
Vue项目中,有时运行项目 npm run dev时 会报错 某个端口已存在 Error listen EADDRINUSE :::3000等等!其实是3000端口被其他应用程序占用了,只要找到占用该端口的应用程序,杀死它,就好了。1.netstat -o -n -a | findstr :3000此时会有如下显示:此时前面的3000是端口号,后面的15148每台电脑是不一样的,这时进...
2020-01-07 16:51:30 542
原创 微信内置浏览器无法使用input图片上传和lrz.bundle.js图片压缩插件
标题 微信内置浏览器无法使用input图片上传和lrz.bundle.js图片压缩插件
2019-12-26 09:29:27 1008 2
原创 jquery attr()方法总结
在JS中设置节点的属性与属性值用到setAttribute(),获得节点的属性与属性值用到getAttribute(),而在jquery中,用一个attr()就可以全部搞定了,赞一个先 ^^jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式。attr(属性名) ...
2019-01-14 17:02:20 2418 1
原创 jq动态改变背景颜色的background兼容问题
改变某一个元素的背景颜色,在开发中应该是个比较常见的功能,但是就是这样一个简单功能,在谷歌 火狐和IE浏览器上也会出现兼容问题,具体问题如下:<!--颜色和样式这里我就省略了--><div class="item">立即咨询</div>如果想用jq获取这个div的样式用 console.log($(".item").css("background"))..
2019-01-11 16:39:55 5708
原创 JavaScript预编译原理分析
说到预编译,一直对它的原理比较模糊,这两天研究了一下它,现在总结分析一下它的原理,在开始分析之前要明确三点:1. JavaScript是解释型语言, 既然是解释型语言,就是编译一行,执行一行2. 脚本执行js引擎都做了什么呢? 1.语法分析 2.预编译 3.解释执行3. 预编译是什么时候执行 ? 一般是在函数执行前下面举个列子&lt;script&gt; var a...
2019-01-10 15:14:29 254
原创 小程序textarea文本域字数控制---并显示已输入字数
有时候我们在写项目的时候,用到input或者textarea的时候,可能需要对输入的字数进行一个限制和显示,效果图如下:输入文字后的效果图是这样的:下面闲话少说 把这个小功能分享给大家,先是wxml:<view class="conts"> <textarea class="areas" placeholder='空空如也,快点评论吧' minlength="...
2018-12-29 11:12:35 11500 3
原创 小程序分享功能
之前项目中没有用到分享功能,今天用到了,查了不少资料,算是搞的比较明白,今天分享给大家,希望对大家有所帮助,闲话不说,先上效果图:点击分享按钮,会把内容分享出去,效果图如下:点击关闭分享按钮 下面的分享按钮会隐藏 点击右上角自带的分享按钮 会有如下效果:下面直接上代码,先是wxml: &lt;view class="view"&gt; &lt;image class...
2018-12-28 16:26:23 12322 2
转载 小程序分享功能调整背后的故事
有时候我们使用一个小程序会遇到以下情形:我们打开一个小程序,就看见提示“分享到5个群,可以获得一张20元的优惠券”,吸引我们去无脑分享到不同的群里;打开某个小游戏,提示我“一定要分享到xx个群,才能继续玩游戏”;……而我们在群里打开这类小程序,仍然是提示我分享的信息,这类功能无疑打断了我们对小程序/小游戏正常的功能使用。我们收到了很多用户对这类小程序/小游戏的抱怨。这类分享并非是用户主动...
2018-12-28 11:36:18 385
原创 图片的裁剪和自适应,微信小程序image控件的mode属性
最近在开发小程序的项目中,后台请求过来的是一堆尺寸比较大的图片,如果用image放在尺寸比较的盒子子,就会失真比较严重,图片也会变形,当时由于不知道image有mode属性 真是大费周章,但是效果还是不太好,最后问了其他开发的朋友,才知道有这个属性,今天就分享给大家。我刚开始的写法是这样的 &amp;amp;lt;image class=&amp;quot;video-picture&amp;quot; src=&amp;q
2018-12-14 14:13:50 4487
原创 小程序支付流程
微信支付作为小程序很重要的部分,今天有空,就来总结一下它 的基本流程,闲话少说,我们直接开始。一:准备工作1、小程序注册,要以公司的以身份去注册一个小程序,才有微信支付权限;2、绑定商户号。3、在小程序填写合法域完成以上工作之后,你需要拿到四个东西:小程序appid 和小程序秘钥, 这两个用于获取用户openid, 商户号id 和商户号秘钥 ,当然支付接口也是必须的;这些都都可以登录...
2018-12-05 10:37:23 3391
转载 wx.getRecorderManager实现把用户的录音记录并上传到服务器,然后调用接口来实现播放功能
闲话少说,直接上代码!首先wxml开始录音停止录音播放录音然后js首先使用方法获取对象const recorderManager = wx.getRecorderManager()const innerAudioContext = wx.createInnerAudioContext()然后写一个button来调用开始录音的方法。//开始录音的时候start: functio...
2018-12-03 11:22:49 7863 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人