![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nodejs
阳光6号
这个作者很懒,什么都没留下…
展开
-
js生成随机数
// 随机数,包含ram1和ram2 getRandomIdx(ram1, ram2) { ram1 = Number(ram1) ram2 = Number(ram2) var range = Math.abs(ram2 - ram1) var Rand = Math.random() return (ram1 < ram2 ? ram1 : ram2) + Math.round(Rand * range) },原创 2020-11-10 16:14:32 · 159 阅读 · 0 评论 -
js判断数据是否是对象
isObject(obj) { if (!obj || Object.prototype.toString.call(obj) !== '[object Object]') { return false } return true },原创 2020-11-10 16:13:44 · 1446 阅读 · 0 评论 -
JS获取PC操作系统信息
getOsInfo(){ let str = navigator.userAgent; let rsg = /\((.*?)\)/; let arr = rsg.exec(str); let result = ""; if(arr.length >= 2){ result = arr[1]; }else{ result = str.toLowerCase().indexOf("mac os x") > 0 ? "mac os原创 2020-11-10 16:12:56 · 801 阅读 · 0 评论 -
js判断是否是base64字符串
js判断是否是base64字符串isBase64(str){ if(str === '' || str.trim() === ''){ return false; } try{ return btoa(atob(str)) == str; }catch(err){ return false; } },原创 2020-11-05 12:06:45 · 7406 阅读 · 0 评论 -
js对比两个对象是否相同
js对比两个对象是否相同compareArray(arrA, arrB) { let isSame = true if (arrA.length !== arrB.length) { return false } else { arrA.some((el, idx) => { if (el !== arrB[idx]) { isSame = false return true }原创 2020-11-05 12:05:49 · 690 阅读 · 0 评论 -
js判断两个数组是否相同
js判断两个数组是否相同compareArray(arrA, arrB) { let isSame = true if (arrA.length !== arrB.length) { //判断长度 return false } else { arrA.some((el, idx) => { //判断元素 if (el !== arrB[idx]) { isSame = false retur原创 2020-11-05 12:04:29 · 946 阅读 · 0 评论 -
JS深拷贝
深拷贝,拷贝出来的数据和元数据是完全独立,不受引用的影响:deepClone(parentObj, childObj) { if (!parentObj || typeof parentObj !== 'object') { return parentObj; //若果不是对象 直接返回 } childObj = childObj || (Array.isArray(parentObj) ? [] : {}) try { for (let i in原创 2020-11-05 12:03:52 · 109 阅读 · 0 评论 -
js正则表达式获取操作系统信息
js用正则表达式读取userAgent后,根据结果获取操作系统的信息:let txt= navigator.userAgent;//txt = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36"let reg = /\((.*?)\)/;let rs = reg.exec(txt);console.log(rs[1]原创 2020-11-05 10:29:57 · 352 阅读 · 0 评论 -
electron项目混淆压缩代码
前端的代码混淆只能起到扰乱阅读理解的作用,代码根本还是暴露在外,所以原则上还是无法完全保护。项目中为了代码保护,需要混淆压缩代码,试了一下几个插件。1、uglifyjs-webpack-plugin此插件不支持es6语法,对于es6的语法报错,看了解决方法,需要通过安装相关babel库和配置babelrc,转义es6语法解决报错但是本人开发环境比较复杂,多次配置都没能解决问题2、使用webpack-obfuscator插件这个插件可以把代码按照不同方式和混淆严重程度去配置,最终混淆后的代码是生成原创 2020-10-15 10:15:54 · 2536 阅读 · 0 评论 -
electron-vue开发模式,每次修改代码热更新的时候,无法杀死electron进程重启,导致CPU很高,电脑卡死
这是由于每次修改源码的时候,重启了多次electron进程,热更新的时候没有彻底杀死进程重启,导致多个进程一起工作,占用大量CPU,电脑卡死,解决方法,修改热更新重启进程的方法,找到dev-runner.jsif (electronProcess && electronProcess.kill) { manualRestart = true process.kill(electronProcess.pid) electronProcess原创 2020-10-15 10:01:58 · 2700 阅读 · 0 评论 -
蓝牙模块Noble不兼容最新的macOS系统(10.15.4)的解决方法
2020年3月底,macOS新版本的系统:catalina 10.15.4发布了,测试和产品提出问题:当更新了最新的系统后,electron的项目中的蓝牙功能不能用了。看了一下目前正在使用的蓝牙模块的底层代码:发现以前的同事也遇过macOS版本更新后,noble模块不能兼容的问题,解决方法主要是去把noble模块的发起蓝牙连接和写入指令等js代码改写,关键点是改写通信id。如上图,noble...原创 2020-04-16 19:48:20 · 1532 阅读 · 1 评论 -
安装指定版本的nodeJs
1、安装n模块:npm install -g n2、升级nodejs到最新的稳定版n stable3、安装指定版本n v8.9.0原创 2020-04-10 10:01:39 · 1494 阅读 · 0 评论 -
js生成唯一id
生成随机串:var now =new Date().getTime();var id = now.toString(36).slice(0,6)+now;原创 2020-04-10 09:14:40 · 516 阅读 · 0 评论 -
vscode调试js,chrome调试js
vscode调试js,chrome调试jsnodejs调试文档:nodejs调试文档三种启动调试方式:1、vscode直接F52、配置launch.json,在"调试"列表选择需要调试的工程,点绿色小三角形启动调试3、把vscode调试的自动附加激活,调试命令行关键参数:–inspect关键参数:–inspect启用调试:node --inspect app.js 即可调试app....原创 2020-04-10 09:10:31 · 1322 阅读 · 0 评论