自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 利用ast修改js,并保存硬盘

【代码】利用ast修改js,并保存硬盘。

2024-05-17 10:25:05 131

原创 真正解决js精度丢失问题

确保你已经安装了Rust工具链和wasm-pack,wasm-pack 是用于构建、优化和打包Rust代码为WebAssembly的工具。确保使用#[wasm_bindgen]属性标记你的函数,这能够使这些函数能够在编译成Wasm后被JavaScript调用。在构建完成后,你可以在pkg目录中找到生成的Wasm文件和一个用于加载Wasm模块的JavaScript封装文件。在项目目录中运行wasm-pack以构建Wasm包。步骤 6: 在JavaScript中使用Rust函数。步骤 4: 编写Rust代码。

2024-04-03 10:25:24 727

原创 一键切换开发环境

1.2. 需要有起一个node 服务 ,或者直接使用vscode 的live sever ,注意必须开启的是80端口。1.3 利用 switchHost 修改需要代理的工具。1.1 利用host解决代理问题,代码如下。

2023-09-11 20:32:39 340

原创 前端 sentry 接入钉钉机器人

把操作成功图中的Forwarding 公网地址赋值给webhook url + 对应nodejs中的路由,例如:http://xxx.natappfree.cc/webhook。为了解决 方便调试,我们可以使用内网穿透,让公网映射到我们的开发服务器,这要我们就可以边写边调试了。https://natapp.cn/article/natapp_newbie 下载完毕后的具体操作。这里比较麻烦的是:webhook url需要一个公网的ip地址,我们总不能边写调试吧。这里就是用nodejs 起一个服务了。

2023-06-15 15:38:53 1263

原创 前端接入sentry可能会遇到的坑

3. SentryWebpackPlugin 的urlPrefix配置错误(打开对应的web程序,打开网络控制面板,筛选js,查看该js 对应请求的地址即可,例如:http://xxxxx.com/static/1.js 那么我们就填写:http://xxxxx.com/static)在配置版本的时候除了填写版本号,最好在版本号添加该项目名称前缀。2. nginx 是否设置了上传的最大限度(这里会有报错)异步错误不捕获不上报(全网唯一正确的解决方案)1. 仔细查看对应的路径是否正确。

2022-12-21 18:09:01 846 1

原创 vant 日历组件优化

vant 日历组件卡顿优化

2022-11-14 18:44:51 1407 1

原创 搭建自己的iconfont 字体图标库

iconfont搭建

2022-10-12 15:16:31 990

原创 vue国际化抽取脚本

node 脚本 抽取前端项目国际化提取的思路很简单:0.使用前需要在该目录下创建一个backupI8的文件夹1.递归所有文件2.读取文件,创建该路径文件夹,按行读取,当读取到某一行有汉字时就提取出来3.每当读取完一个文件时就会创建一个相对应的json文件4.代码如下:const path = require('path')const fs = require('fs')var iconv = require('iconv-lite'); // node执行路径const dirPat

2021-03-24 17:24:18 440

原创 express 源码实现(一)

express 源码实现(一)1.首先说一下大概使用方式const express = require('express'); const app = express(); // 执行函数返回一个app 应用// 发起get 请求app.get('/', function(req, res) { // 结束 返回内容 res.end('home')})app.get('/about', function(req, res) { res.end('about')})//

2020-10-15 17:11:42 308

原创 vscode nodemon打断点

1,修改package.json"scripts": { "debug": "nodemon server.js" }, 2,修改.vscode/launch.json{ "version": "0.2.0", "configurations": [ { "name": "随意", "type": "node", "request": "launch",

2020-10-14 16:51:26 414

原创 remote: error: cannot lock ref ‘refs/heads/dev/mz/dev‘: ‘refs/heads/dev‘ exists; cannot create ‘refs

remote: error: cannot lock ref 'refs/heads/dev/mz/dev': 'refs/heads/dev' exists; cannot create 'refs/heads/dev/mz/dev'To http://xx.xx.xx.xx/xxxx/xx.git原因为:远程有一个分支为dev分支,然后本地新创建了一个分支为dev/mz/dev所以会有问题;解决:git branch -m feature/mz/dev修改分支名称即可!...

2020-10-09 16:53:54 6612 1

原创 前端数据映射

前端数据映射—>平铺1.树形结构的映射const data = [{ id:1, name:'1', children:[ { id:2, name:'1-1', children:[ { id:3, name:"1-1-1" }, { id:4, name:"1-1-2", children:[ { i

2020-09-18 18:46:54 3088

原创 Promise的实现原理(三)

Promise的实现原理(三)1.Promise 实现原理1.1 Promise 实现原理之链式调用1.1.1 基础用法const p =new Promise((resolve,reject)=>{ resolve('成功')//这里得成功会调用下一个.then里的res回调函数 reject('失败')//这里得失败会调用下一个.then里的err回调函数})const p1 = p.then(res=>{ return res // 这里return值会在下一个.then

2020-09-18 15:18:27 181

原创 Promise的实现原理(二)

Promise的实现原理(二)1.在Promise的实现原理(一)中我们已经实现到同步的promiseclass Mypromise { // executor 执行者,也就是调用方传过来的函数,他是立即执行的 constructor(executor){ // executor又有两个回调函数,一个成功的函数resolve,一个失败的状态reject,首先定义这两个函数 // 使用者传回成功的value值 const resolve = (value)=>{ // 因为pr

2020-09-15 10:47:01 188

原创 Promise的实现原理(一)

Promise的实现原理(一)1.先说一下用法,根据用法来一步步实现;1.1 简单使用// 传如一个函数,函数里有两个参数,resolve,reject new Promise((resolve,reject)=>{ // 成功就调用 resolve() })1.1.1 来实现我们自己的Mypromiseclass Mypromise { // executor 执行者,也就是调用方传过来的函数,他是立即执行的 constructor(executor){ // exe

2020-09-14 18:16:44 717

原创 移动端适配

npm install lib-flexible --savenpm install postcss-pxtorem --save-dev或者:npm install postcss-px2rem --save-devpostcss-pxtorem会将px转换为rem,rem单位用于适配不同宽度的屏幕,根据<html>标签的font-size值来计算出结果,1rem=html标签的font-size值。引入lib-flexible在项目入口文件main.js 中引入lib-fl

2020-09-14 17:31:37 143

原创 Aop 切片编程

AOP 切片编程需求:1.在不动原来封装好的函数下,增加业务代码例如:const render = function(){ xxxxxxx console.log('render);}const oldPrototype = new Function().prototype;render.prorotype__proto__ = oldPrototype;render.before = function(callback){ return ()=>{ callback()

2020-09-14 17:12:53 105

原创 定位缩放位置不发生改变

当一个元素需要定位到另一个元素上时,缩放会导致定位偏移例如:图片缩放时,定位点将发生偏移;处理:1.得到底层图片最大尺寸(maxWidth)2.实时更新底层图片大小(updateWidth)3.动态定位:{left: ${(i.latitude(需要定位元素坐标) * updateWidth) / mapWidth}px,top:同上,得到最大高度与实时更新高度即可}...

2020-08-17 14:24:42 1682

原创 linux jenkins连接gitlab 报错128

1.查看linux 下用户~cat /etc/passwdroot@wordpress-virtual-machine:/# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:

2020-05-22 14:11:00 488

原创 ES6对象多层解构

这里写自定义目录标题ES6 对象多次解构ES6 对象多次解构 const data = {res:'ceshi',a:{b:'b测试'}} 接收res另起别名为res1; 接受a,在对a进行解构, const {res:res1,a:{b:b1}} = data; console.log('res1',res1);...

2020-03-20 18:01:36 3122

原创 scrollIntoView 滑动卡顿或scrollIntoView不生效问题

在实际生产中遇到scrollIntoView滑动卡顿现象; dom.scrollIntoView({ behavior: "smooth", block: "nearest", //"start",// | "center" | "end" | "nearest", // 默认 inline: "nearest" ...

2020-01-19 19:07:39 7173 2

原创 compose函数第二步

我们要先计算a函数,依赖a函数返回的结果在计算b函数举例: let a = (x,y)=>x+y; let b = (m)=>m * m;第一种:let q1 =function compose(a,b){ return (x,y) => b(a(x,y))} 第二种: function q (...[first,...out])=>(...

2019-12-23 16:13:03 174

原创 compose函数第一步传参结构

函数传参let a = 1;let b = 2;let c = 3;function test(...[first,...outer]){// 在这个函数中我想拿到第一个参数 console.log(first) //1 console.log(outer) //[2,3]}

2019-12-23 15:43:30 249

原创 for循环自定义跳出某一层循环体

在使用for循环时,为了资源的消耗,我们可以指定for循环跳出某一层循环体,距离如下: out: for (let i = 0; i < 10; i++) { int: for (let j = 0; j < 10; j++) { console.log('i+j',i+j) if(i+j===2){ ...

2019-12-20 17:48:34 1036

原创 Echarts

markPoint: { data: [ { name:'某个坐标', yAxis:'2.2', xAxis:'04:30', value:'标记1' ...

2019-12-16 10:26:17 71

原创 umi 写多个className 名

<div className={`${style.a} ${style.b}`}></div>

2019-12-16 10:21:07 1011

原创 在react中使用防抖以及节流函数

在react中使用防抖以及节流函数这里已防抖函数举例;debounce.jsexport debounce = (fn,wait=1000)=>{ let timer = 0; if(timer){ clearTimeout(timer) } return (...args)=>{ timer = setTimeOut(()=>{ fn.apply(th...

2019-12-06 19:37:04 3038

原创 Uncaught SyntaxError: Unexpected token

部署前端项目报错Uncaught SyntaxError: Unexpected token1.产生原因:前端使用了BrowserRouter路由方式,当跳转二级路由时,前端所引用的js文件以及css 文件路径会因二级路由的原因所改变。2.解决:配置webpack,output:{ ..., publicPath:isEnvProduction?'/':'.'}当前端使用Brows...

2019-11-28 20:21:40 413

原创 计算一个数是否在此区间

check = (str, m, n) => (str <= n && str >= m) || (str >= n && str <= m);

2019-11-05 17:53:19 290

原创 git:remote: HTTP Basic: Access denied fatal: Authentication failed forXXXX

git 拉取代码时出现:remote: HTTP Basic: Access deniedfatal: Authentication failed for 'http://gitlab.yitu-inc.com/tzhou1/sturnus.git/'1.输入git config --system --unset credential.helper 清空密码和账户2.可以打开控制面板中的...

2019-10-14 13:35:06 3577

原创 禁止浏览器缩放

移动端页面禁止用户缩放界面只需加上即可,但是pc端确实比较麻烦,用户可以通过如下几种方式来缩放:windows:ctrl + +/-ctrl + 滚轮浏览器菜单栏mac:cammond + +/-浏览器菜单栏由于浏览器菜单栏属于系统软件权限,没发控制,我们着手解决ctrl/cammond + +/- 或 Windows下ctrl + 滚轮 缩放页面的情况,只能通过js来控制了Re...

2019-10-11 15:08:53 1045

原创 图片禁止下载

图片禁止下载<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8" /> <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico" /> <meta name="viewport...

2019-10-09 17:24:22 945

原创 图片放大在区域内拖拽,正常比例是不能拖拽

最近遇到一个需求:1.图片可拖拽,但是在正常比例下,是拖拽不动的2.当图片放大后,图片的大小大于盒子的大小时,此时可拖拽要求:1.放大后的图片的边缘不能在盒子内出现,意思就是只能在盒子内拖动(图片的左边缘不能小于盒子的左边缘)写了一下午:主要代码如下:第一张:点击时记录位置。移动时限制大小第二张:滑动滚轮的时候判断图片偏移量,不要让图片的边框出现在div内,意思不要露出背景色来...

2019-09-25 17:28:09 888 5

原创 react lazy----延迟加载组件

const CreateProject = lazy(() => { return new Promise(resolve => setTimeout(resolve, 2000)).then( () =>import('../common/CreateProject.js') ) })

2019-09-25 17:17:37 948

原创 React API Portals和findDOMNode介绍与使用

react 新API ——Portals1.findDOMNode场景使用在我们开发中往往会遇到一些获取真实DOM的情形,比如说 我要给一个div 通过滚轮事件方法或者缩小,此时我们就想到findDOMNode 来获取真实dom,可指定到具体某一个div或者img 等等标签~~~代码: 定义鼠标滚轮事件 onMouseWheel = e => { let dom = ...

2019-09-25 15:48:12 311

原创 react 中svg封装

import classNames from "classnames";import * as React from "react";import "./index.scss";export const SvgIcon = props => { const { className, url, ...etc } = props; return ( <svg {.....

2019-09-17 15:37:55 1302 1

原创 react 阻止默认行为

react在做某一些弹层的时候,会用到原生的监听点击事件document.addEventListener(‘click’,…);这个时候会用到阻止默认事件发生,代码如下: e.nativeEvent.stopImmediatePropagation();...

2019-09-17 15:34:42 538

原创 前端input 密码回填bug

前端业务中:不需要密码回填,但浏览器往往会自动回填,为了防止这里密码回填!我们在input中直接添加属性:autoComplete="new-password"

2019-09-16 18:14:38 250

原创 滚动列表,滑动到可见区域,聊天记录

往往前端有一些需求:例如1.聊天记录一直显示最新的一条,自动滚动;例如2.点击按钮,列表页中的某一条滚动到可见区域例如3.ios下,键盘会遮挡输入框等等。。。只要有需要滚动的,都可使用该API。Element.scrollIntoView()OK ~...

2019-09-12 19:21:10 384

原创 获取上一个页面的url

前端获取上一个页面的url路径直接上代码:document.referrer可用此API 来获取~

2019-09-12 18:19:40 1666

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除