相关资源
vue,自动更新版本号
修改 package.json 的 version
function changePackageJsonVersion() {
//每次打包构建代码,自动更新版本号,同一天加1,隔天自动回归变成 1 。例如{ 今天:1.20200917.3,第二天:1.20200918.1 }
const fs = require('fs');
try {
function AddZero(time) {
if (time < 10) {
return '0' + time;
} else {
return time;
}
}
let packageTxt = fs.readFileSync('./package.json', 'utf8');
let versionData = packageTxt.split('\n');
let packageJson = JSON.parse(packageTxt);
let VersionArr = packageJson.version.split('.');
let date = new Date();
let today =
date.getFullYear() +
'' +
AddZero(date.getMonth() + 1) +
'' +
AddZero(date.getDate());
if (today == VersionArr[1]) {
VersionArr[2] = parseInt(VersionArr[2]) + 1;
} else {
VersionArr[1] =
date.getFullYear() +
'' +
AddZero(date.getMonth() + 1) +
'' +
AddZero(date.getDate());
VersionArr[2] = 1;
}
let versionLine = VersionArr.join('.');
for (let i = 0; i < versionData.length; i++) {
if (versionData[i].indexOf('"version":') != -1) {
versionData.splice(
i,
1,
' "version": "' + versionLine + '",'
);
break;
}
}
fs.writeFileSync('./package.json', versionData.join('\n'), 'utf8');
} catch (e) {
// console.log(chalk.red.bold('读取文件修改版本号出错:', e.toString()));
}
}
NodeJS + express访问html、css、JS等静态资源文件
判断浏览器环境
- 是否是微信打开的h5页面
isWeixin() { let wx = navigator.userAgent.toLowerCase(); if (wx.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; } },
- 是否是ios手机
isIOS() { let u = navigator.userAgent, app = navigator.appVersion; return !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); },
打开新的浏览器选项卡
window.open(url, '_blank');
关闭当前浏览器选项卡
function closeWin(){
if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Chrome") != -1) {
window.location.href = "about:blank";
window.close();
} else {
window.opener = null;
window.open("", "_self");
window.close();
};
}
如何判断数组类型
Array.isArray(arr)
如何判断一个对象是不是空对象?
Object.keys(obj).length === 0
利用a标签解析url
function urlParse(url, key) {
var a = document.createElement('a')
a.href = url
var result = {
href: url,
protocol: a.protocol.replace(':', ''),
port: a.port,
query: a.search,
params: (function(){
var ret = {}, centArr,
seg = a.search.replace(/^\?/, '').replace(/^\?/,'').split('&')
for (i = 0, len = seg.length; i < len; i ++) {
if (!seg[i]) { continue }
centArr = seg[i].split('=')
ret[centArr[0]] = centArr[1]
}
return ret
}()),
hash: a.hash,
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
path: a.pathname.replace(/^([^\/])/, '/$1'),
relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
segments: a.pathname.replace(/^\//, '').split('/')
}
a = null
return key ? result[key] : result
}
- H5 有新的 API URL 也可以快速的处理一个链接
var url = new URL('https://www.baidu.com/')
url.hash
js 实现图片点击下载功能
- 方法一
downloadQrFunc2() { var src1 = "https://pic2.zhimg.com/v2-5ec052fff9d691c6a61654ed16440547_400x224.jpg"; var src = "https://bkimg.cdn.bcebos.com/pic/2934349b0