先记录几个比较可靠的代理IP平台:
猿人云(价格合适,可按量收费,稳定可靠)
快代理(价格略贵,但稳定可靠)
阿布云(还没用过,听说还可以)
先定义targetUrl和proxyUrl如下
const targetUrl = 'https://www.baidu.com/'
const proxyUrl = 'http://proxyUser:proxyPass@proxyHost:proxyPort'
// const proxyUrl = 'http://127.0.0.1:9527'
reques...
首先,将自定义的监听xhr事件的方法override原本的XMLHttpRequest(from:分享JavaScript监听全部Ajax请求事件的方法)
(function () {
if (typeof window.CustomEvent === "function") return false;
function CustomEvent(event, params) {
params = params || {
bubbles: false,
cancelable: false,
detail: undefined
};
var ...
webpack-bundle-analyzer插件用以分析webpack打包之后的结果,在vue-cli3之前是集成到scripts中,然后直接执行命令就行,而在vue cli3中用vue create创建的项目木有这个插件的命令了,查阅官方文档发现这个文档仍然是被集成的,只是需要我们在有需要的时候自己添加相关参数。
官方默认的命令是这样的:
{
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build"
}
}
那么我们可以执行n...
nvm-windows官方下载地址:https://github.com/coreybutler/nvm-windows/releases
安装成功后在切换node版本时提示如图信息:
一堆乱码毫无头绪,执行命令chcp 65001后再次运行npm use x.x.x
现在能够看到提示的信息为“You do not have sufficient privilege to perform this operation”,翻译成中文即“您没有足够的权限执行此操作”
ok,那么使用管理员身份运行命令面...
1、canvas转换为dataURL (从canvas获取dataURL)
var dataurl = canvas.toDataURL('image/png');
var dataurl2 = canvas.toDataURL('image/jpeg', 0.8);
2、File对象转换为dataURL、Blob对象转换为dataURL
File对象也是一个Blob对象,二者的处理相同。
function readBlobAsDataURL(blob, callback) {
var a = new FileReader();
a.onload = ...
多页模式官方配置说明 https://cli.vuejs.org/zh/config/#pages
const isProd = process.env.NODE_ENV === 'production'
const isDev = process.env.NODE_ENV === 'development'
const cdnResource = {
dev: {
css: [
'https://cdn.jsdelivr.net/npm/element-ui@2.10.1/lib/theme-chalk/index.css'
],
...
项目中有类似需求:列表进详情,详情再返回列表,列表保持之前的状态,而其他页面进列表则重新渲染。
结合项目实际情况,最终实现方法:结合beforeRouteEnter和beforeRouteLeave钩子然后用keep-alive做缓存。
有关keep-alive的作用及使用方法本文将不再赘述(详见官方文档)
栗子如下,父组件:
<template>
<div id="app">
<keep-alive :include="cachedPages">
<router-view />
<...
本文所说的log4js实际上是指log4js-node,它是log4js到node.js的移植。
安装:npm i log4js -S,基本配置与使用方法可见其官方网站与文档。
顾名思义,其输出级别level为:trace < debug < info < warn < error < fatal,当设置为info时,会输出info及其之后的级别日志;当设置为trace或all时,所有级别都将输出。
注意:categories中至少要把default给配置上,否则无法使用。
简单应用如下:
const log4...
与android交互
android端将方法挂载到webview上,js直接调用即可,如:android.forWeb(params)
与ios交互
js调用ios提供的方法:window.webkit.messageHandlers.方法名.postMessage(参数)
注意:“参数”允许类型为NSNumber, NSString, NSDate, NSArray, NSDictionary, and NSNull,如果不需要传参,那么“参数”也要写作null,否则有坑。
提供给android或ios的webview...