- 博客(62)
- 收藏
- 关注
原创 rust 如何debug
1.3 在vscode 的js文件中打断点就可以了。1.2 下载vscode插件CodeLLDB。2.1.3 直接f5 执行debug。2.2 命令行 debug。
2024-06-28 16:13:11
773
原创 一键切换开发环境
1.2. 需要有起一个node 服务 ,或者直接使用vscode 的live sever ,注意必须开启的是80端口。1.3 利用 switchHost 修改需要代理的工具。1.1 利用host解决代理问题,代码如下。
2023-09-11 20:32:39
409
原创 前端 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
1639
原创 前端接入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
1042
原创 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
612
3
原创 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
372
原创 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
469
原创 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
6937
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
3302
原创 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
226
原创 Promise的实现原理(二)
Promise的实现原理(二)1.在Promise的实现原理(一)中我们已经实现到同步的promiseclass Mypromise { // executor 执行者,也就是调用方传过来的函数,他是立即执行的 constructor(executor){ // executor又有两个回调函数,一个成功的函数resolve,一个失败的状态reject,首先定义这两个函数 // 使用者传回成功的value值 const resolve = (value)=>{ // 因为pr
2020-09-15 10:47:01
232
原创 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
785
原创 移动端适配
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
186
原创 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
146
原创 定位缩放位置不发生改变
当一个元素需要定位到另一个元素上时,缩放会导致定位偏移例如:图片缩放时,定位点将发生偏移;处理:1.得到底层图片最大尺寸(maxWidth)2.实时更新底层图片大小(updateWidth)3.动态定位:{left: ${(i.latitude(需要定位元素坐标) * updateWidth) / mapWidth}px,top:同上,得到最大高度与实时更新高度即可}...
2020-08-17 14:24:42
1815
原创 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
570
原创 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
3242
原创 scrollIntoView 滑动卡顿或scrollIntoView不生效问题
在实际生产中遇到scrollIntoView滑动卡顿现象; dom.scrollIntoView({ behavior: "smooth", block: "nearest", //"start",// | "center" | "end" | "nearest", // 默认 inline: "nearest" ...
2020-01-19 19:07:39
7526
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
216
原创 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
281
原创 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
1096
原创 Echarts
markPoint: { data: [ { name:'某个坐标', yAxis:'2.2', xAxis:'04:30', value:'标记1' ...
2019-12-16 10:26:17
100
原创 在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
3132
原创 Uncaught SyntaxError: Unexpected token
部署前端项目报错Uncaught SyntaxError: Unexpected token1.产生原因:前端使用了BrowserRouter路由方式,当跳转二级路由时,前端所引用的js文件以及css 文件路径会因二级路由的原因所改变。2.解决:配置webpack,output:{ ..., publicPath:isEnvProduction?'/':'.'}当前端使用Brows...
2019-11-28 20:21:40
492
原创 计算一个数是否在此区间
check = (str, m, n) => (str <= n && str >= m) || (str >= n && str <= m);
2019-11-05 17:53:19
339
原创 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
3629
原创 禁止浏览器缩放
移动端页面禁止用户缩放界面只需加上即可,但是pc端确实比较麻烦,用户可以通过如下几种方式来缩放:windows:ctrl + +/-ctrl + 滚轮浏览器菜单栏mac:cammond + +/-浏览器菜单栏由于浏览器菜单栏属于系统软件权限,没发控制,我们着手解决ctrl/cammond + +/- 或 Windows下ctrl + 滚轮 缩放页面的情况,只能通过js来控制了Re...
2019-10-11 15:08:53
1132
原创 图片禁止下载
图片禁止下载<!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
1034
原创 图片放大在区域内拖拽,正常比例是不能拖拽
最近遇到一个需求:1.图片可拖拽,但是在正常比例下,是拖拽不动的2.当图片放大后,图片的大小大于盒子的大小时,此时可拖拽要求:1.放大后的图片的边缘不能在盒子内出现,意思就是只能在盒子内拖动(图片的左边缘不能小于盒子的左边缘)写了一下午:主要代码如下:第一张:点击时记录位置。移动时限制大小第二张:滑动滚轮的时候判断图片偏移量,不要让图片的边框出现在div内,意思不要露出背景色来...
2019-09-25 17:28:09
1101
5
原创 react lazy----延迟加载组件
const CreateProject = lazy(() => { return new Promise(resolve => setTimeout(resolve, 2000)).then( () =>import('../common/CreateProject.js') ) })
2019-09-25 17:17:37
1015
原创 React API Portals和findDOMNode介绍与使用
react 新API ——Portals1.findDOMNode场景使用在我们开发中往往会遇到一些获取真实DOM的情形,比如说 我要给一个div 通过滚轮事件方法或者缩小,此时我们就想到findDOMNode 来获取真实dom,可指定到具体某一个div或者img 等等标签~~~代码: 定义鼠标滚轮事件 onMouseWheel = e => { let dom = ...
2019-09-25 15:48:12
360
原创 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
1367
1
原创 react 阻止默认行为
react在做某一些弹层的时候,会用到原生的监听点击事件document.addEventListener(‘click’,…);这个时候会用到阻止默认事件发生,代码如下: e.nativeEvent.stopImmediatePropagation();...
2019-09-17 15:34:42
577
原创 前端input 密码回填bug
前端业务中:不需要密码回填,但浏览器往往会自动回填,为了防止这里密码回填!我们在input中直接添加属性:autoComplete="new-password"
2019-09-16 18:14:38
297
原创 滚动列表,滑动到可见区域,聊天记录
往往前端有一些需求:例如1.聊天记录一直显示最新的一条,自动滚动;例如2.点击按钮,列表页中的某一条滚动到可见区域例如3.ios下,键盘会遮挡输入框等等。。。只要有需要滚动的,都可使用该API。Element.scrollIntoView()OK ~...
2019-09-12 19:21:10
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人