阅读全文>>
autocannon 中文译为 自动炮, 是一款基于nodejs的压力测试工具,支持命令行和写代码来进行测试
npm 地址 www.npmjs.com/package/aut…
因为我是前端所有选择了这个。 其他诸如 ab、webbench均可。
全局安装autocannon
npm i autocannon -g
命令行使用
执行
autocannon -c 100 -d 5 -p 1 https://appvxnsma4r5053.pc.xiaoe-tech.com/
命令解释
上述命令解释: 用100个连接、持续...阅读全文>>
报错:
warning: /var/cache/yum/x86_64/7/influxdata/packages/telegraf-1.26.3-1.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 7df8b07e: NOKEY
解决方案:
https://www.influxdata.com/blog/linux-package-signing-key-rotation/
配置 Linux 主机以使用新的签名密钥
新密钥的指纹是9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8...阅读全文>>
react路由
大家先不要急,我们先温习下react基本的路由搭建过程。由于react路由统一管理不唯一,此处列举的是基于useRoutes的路由管理。
1. 下载安装
npm install react-router-dom@6 复制代码
2. index.js挂载
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import { BrowserRouter,HashRouter }...阅读全文>>
1.升级最新的webpack5方案
webpack5相较于我们用的webpack4:
Tree Shaking 更友好,esmodule情况打包效果会很好
内置了 terser-webpack-plugin,不再需要下载安装,即可压缩代码
webpack5 内部内置了 cache 缓存机制。直接配置即可
支持模块联邦(微前端)
缺点:启动时间依旧相对较慢,升级需要改动比较大,虽支持模块联邦,但是共享需要同样升级webpack5,其他webpack4也能通过插件实现但是效果相当较差,很多语法跳转无法平缓过度,需要对各种文件的处理loader进行修改或升级(可以...阅读全文>>
/ 响应拦截器
instance.interceptors.response.use(
response => {
// 隐藏 loading 提示效果
Toast.clear()
return response
},
async error => {
Toast.clear()
// 1. 从 vuex 中获取 tokenInfo 对象,格式为: { token, refresh_token }
const tokenInfo = store.state.tokenInfo
// 2. ...阅读全文>>
function getParents(el, parentSelector /* optional */) {
// console.log(el);
// If no parentSelector defined will bubble up all the way to *document*
if (parentSelector === undefined) {
parentSelector = document;
}
v...阅读全文>>
const puppeteer = require('puppeteer');
(async () => {
// 启动浏览器
const browser = await puppeteer.launch({
headless: true, // 默认是无头模式,这里为了示范所以使用正常模式
args: ['--no-sandbox', '--disable-setuid-sandbox'],
})
// 控制浏览器打开新标签页面
const page = await browser.newP...阅读全文>>
config.json
{ "api": "http://localhost:9001" }
// vue.config.js
const hotRequire = modulePath => {
// require.resolve可以通过相对路径获取绝对路径
// 以绝对路径为键值删除require中的对应文件的缓存
delete require.cache[require.resolve(modulePath)]
// 重新获取文件内容
const target = require(modulePath)
return target
}
...
prox...阅读全文>>
<CountDownTimer endTime={1569834068266} onEnd={this.onEndHandler.bind(this)} />
CountDownTimer.jsx
import React from "react";
import styled from "styled-components";
import WebWorker from "../../utils/worker";
let work = function() {
let timer = null;
this.onmessag...阅读全文>>