- 博客(54)
- 收藏
- 关注
原创 git突然失效:无法提交的问题 无法推送到远程仓库
一般需要设置一个用户名和邮箱,将生成的ssh密钥绑定到远程账户上,拉取代码时会需要输入用户名与密码,输入正确即可。局部配置为当前项目的配置 但尝试修改没有什么用。git配置分为全局配置和局部配置。下面是一些修改git配置的命令。
2023-11-28 09:04:22
473
原创 前端刷新token,判断token是否过期(jwt鉴权)
4.1 什么是 JWTJWT 是 Auth0 提出的通过 对 JSON 进行加密签名来实现授权验证的方案;就是登录成功后将相关用户信息组成 JSON 对象,然后对这个对象进行某种方式的加密,返回给客户端;客户端在下次请求时带上这个 Token;服务端再收到请求时校验 token 合法性,其实也就是在校验请求的合法性。4.2 JWT 的组成JWT 由三部分组成: Header 头部、 Payload 负载 和 Signature 签名。
2023-10-17 14:33:34
3725
原创 打包ios-App之使用Appuploader
如果账号已经有一个iOS开发证书了,将申请报错(如下图)免费开发者账号只能申请一个开发证书p12,可以删除掉再申请,或者直接用这个已经申请的,申请到了,点击p12文件下载保存.p12 证书文件到电脑。苹果那边规定,没有付费688的苹果账号申请的描述文件只有7天有效期,付费苹果开发者账号的证书是1年有效期,到期可以重新申请打包,当然测试的话几天时间也足够了。AppID:跟申请证书描述.mobileprovision时选择的要一致(又称套装id,appid,BundleID,应用id,包名)
2023-05-29 15:11:52
1103
原创 hash和history的详谈
History是浏览器提供的一种API,可以通过JavaScript代码执行浏览器的前进、后退等操作,从而在不刷新页面的情况下改变URL地址。Hash的主要作用是用于在单页面应用中实现路由功能,可以在URL中标记不同的页面状态,由JavaScript解释器解释,并根据不同的状态加载相应的页面内容。1.使用 history 模式时,在对当前的页面进行刷新时,此时浏览器会重新发起请求。3.因此,在使用 history 模式时,需要通过服务端来允许地址可访问,如果没有设置,就很容易导致出现 404 的局面。
2023-03-23 16:23:50
428
原创 vite实现终端自定印打印文字
4.vite.config.ts中引入viteBuildInfo.ts插件即可。2.新建自定义插件文件(viteBuildInfo.ts)只需要在plugin內引入就可以了,就不贴代码了。,一个可以修改终端字符颜色的npm包。3.也可以使用艺术字来替换文本。
2023-03-21 09:55:57
542
原创 nvm切换node版本(window)
window用户切换node版本。2.查看可安装的所有node版本。1.查看本地安装的node版本。,需要重新配置一下环境变量即可。3.安装对应的版本号。5.查看node版本。
2023-01-17 16:55:06
201
原创 判断H5页面是在小程序的webview环境中,还是在微信环境中,还是不在微信
先判断是否微信环境, 然后微信环境下, 是否 在小程序环境 嵌套的h5页面。
2022-11-28 14:33:21
1007
原创 封装localStorage,解决获取不到更新后的值问题
问题描述我们在js里面获取了某一个localstorage的值,但是之后它改变了,我们js只执行一遍没办法再次获取它的值,当然可以刷新页面获取,但如果是我们的页面就不能刷新页面了,此时我们可以重写localStorage的setItem方法,当调用setItem方法设置新值的时候,会newEvent(‘setItemEvent’)实现方法在main.js里面全局引入,并use,然后调用该dispatchEventStroage方法,以解决setitemEvent不会立即生效的问题。...
2022-07-25 16:01:16
3426
原创 [Violation] Added non-passive event listener to a scroll-blocking ‘mousewheel‘ event.
当属性passive的值为true的时候,代表该监听器内部不会调用preventDefault函数来阻止默认滑动行为,Chrome浏览器称这类型的监听器为被动(passive)监听器。目前Chrome主要利用该特性来优化页面的滑动性能,所以PassiveEventListeners特性当前仅支持mousewheel/touch相关事件。违反没有添加被动事件监听器来阻止’touchstart’事件,请考虑添加事件管理者’passive’,以使页面更加流畅。...
2022-07-21 13:31:01
1775
原创 vue中使用KeepAlive保存状态及滚动位置(scrollTop)
第一种方式:第二中方式:需要在目标路由添加一个meta属性配置上keepAlive就可以实现状态的保存。1.使用ref获取dom,或者使用js直接获取dom2.keepAlive存在两个生命周期钩子,配合钩子实现代码即可实现如果跳转的带有是iframe,跳转回来会失效 请看下一篇文章......
2022-06-27 16:07:10
2735
原创 SourceTree提示ssh密钥认证失败
今天使用sourceTree拉代码的时候,发现代码拉不下来了 提示 ssh密钥认证失败解决选择OpenSSH选项即可
2022-06-21 15:12:02
1586
原创 react的问题 类型“Readonly<{}>”上不存在属性“val”解决 及原因
import React, { Component } from 'react'interface Test { // loading:boolean; val:number}export default class Essay extends Component<any,Test> { // 第一个参数表示props的类型 第二个表示state类型 constructor(props:any){ super(props) // super要有
2022-04-29 15:47:21
544
原创 如何关闭vscode保存自动格式化
1.打开setting.json按照以下步骤打开setting.json2.修改setting.json文件在此文件内添加一行代码"editor.codeActionsOnSave": { "source.fixAll.eslint": false }即可关闭vscode保存自动格式化
2022-04-14 15:10:55
21192
5
原创 前端常用cdn【2022】
网站名称地址BootCDNhttps://www.bootcdn.cn/Staticfile CDNhttp://www.staticfile.org/jsDelivr https://www.jsdelivr.com//CDNJShttps://cdnjs.com/UNPKG https://unpkg.com//CDNJS.NEThttps://cdnjs.net/JQuery CDNhttp://code.jquery.com/...
2022-03-08 12:44:51
490
原创 修改react中this.State
由于需要对state中定义的对象属性做变更操作,却发现setState是不能直接对state中的对象属性进行操作的。那我们应该怎么办呢?不要捉急,听我慢慢道来(????压根不想听你废话……)首先,我们在state中定义一个对象:this.state = { obj: {}}下一步操作是给obj这个对象动态的增加name,age两个属性并初始化赋值,根据setState的特性,是可以直接更改obj属性,所以我们可以新建一个object对象,取名为coverObj,然后给coverObj添加nam
2022-02-11 14:30:53
416
原创 不能将类型“{ Change: (e: any) => void; }
ts 子组件调用父组件发生报错报错如图原因子组件传入的props参数类型不一致//原代码export default class Ceshi extends Component{}修改方法//给props定义参数类型export default class Ceshi extends Component <any>{} ...
2021-11-25 14:24:19
1371
原创 node 运行打包后的dist文件
运行dist文件很简单1.根目录创建一个server.js文件如果本地没有安装express,安装一下 npm i express将下列代码cvconst express = require('express')const app = express()const port = 8012 // 自定义端口号(不要与已存在端口冲突)app.use(express.static('dist')) // dist 是项目的打包资源路径,一般为根目录下distapp.listen(port, ()
2021-10-27 16:15:14
5134
原创 Canvas画图,canvas饼图模糊
Canvas是Html5制图中常用的元素,但其本身并没有绘制能力,它仅仅是图形的容器,要制图还必须依靠脚本。按照Canvas中提供的方法,我们绘制出各种我们想要的图形。在绘制canvas饼图时发现绘制的饼图很是模糊使用过hidpi-canvas-polyfill库,但效果不佳。想到了一个类似手机分比率的方法,将父元素宽高缩小两倍,绘制中canvas放大两倍接下来直接上代码<!DOCTYPE html><html><head> <style>
2021-10-12 10:16:12
157
原创 工作中常用的js代码(易忘,长期更新)
1.replace用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串数组全局匹配Json.Stringfy(arr).replace('/xx/g','123')
2021-09-03 15:26:13
152
原创 vue2与vue3的vuex(Vue状态管理模式)详解
简介Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。如果代码中没有大量的重复操作和数据, vuex可以不去使用。一般情况在报存用户数据及重复操作时使用Vue2需要引入Vue和Vuex 还需要使用Vue.use(Vuex)。在main.js 需要引入 store 然后将store注册一下。然后就可以进行编写vuex的代码了import Vue from 'vue'import
2021-08-30 14:32:10
815
原创 js之从嵌套对象中获取id放入arr中
简单方法 相信大家应该都会想到使用递归遍历对象将id的值添加到数组上但是这样的话数据量大的话,需要消耗大量内存JSON.stringify(arr).match(/(?<="id":)\d+/g).map(x => parseInt(x))使用正则将数组嵌套的对象进行整理 就可以直接获取 id的值...
2021-08-27 13:28:10
448
原创 vue3.0与vue2 watch侦听器及计算属性大总结
有不少刚毕业的同学想不明白 vue的侦听器 今天给大家总结一下vue2.0watch侦听器看一下官方文档给出的例子var watchExampleVM = new Vue({ el: '#watch-example', data: { question: '', answer: 'I cannot give you an answer until you ask a question!' }, watch: { // 如果 `question` 发生改变,
2021-08-27 09:34:40
337
原创 JavaScript 通过日期参数获得区间内所有日期 例如
const beginDate = ref("2021-08-02"); const endDate = ref("2021-08-08"); //获得区间内所有日期 const getAllDate = (start, end) => { let dateArr = []; let startArr = start.split("-"); let endArr = end.split("-"); let db = new Date()
2021-08-19 15:55:07
584
原创 ReactNative 调用软键盘时将底部导航栏或者底部position样式顶飞
在开发文本输入框时遇到这样一个问题输入框获取焦点调用软键盘时 底部的导航栏被顶了起来 样式极其丑陋。个人感觉应该时tabbar脱离了文档流 在使用其他的app开发工具时也经常遇到解决办法根据路径android/app/src/main/AndroidManifest.xml,修改android:windowSoftInputMode的属性值<manifest xmlns:android="http://schemas.android.com/apk/res/android" pack
2021-08-18 10:31:22
3307
1
原创 vscode报错之 对修饰器的实验支持功能在将来的版本中可能更改。在 “tsconfig“ 或 “jsconfig“ 中设置 “experimentalDecorators“ 选项以删除此警告。
在使用mobox是 vscode出现报错:“对修饰器的实验支持功能在将来的版本中可能更改。在 “tsconfig“ 或 “jsconfig“ 中设置 “experimentalDecorators“ 选项以删除此警告。”解决办法打开 vscode的首选项=>设置=>搜索“experimentalDecorators“问题解决如果有想加入前端交流群的同学 可以在下面留言或者 私聊我 拉你进群 一起学习...
2021-08-17 10:52:41
742
原创 React与Vue3.0 父子间值得传递 子组将向父组件传值
父子间传递 是前端人员必须熟练掌握得一点React//父组件代码片段<View><OverlayExample status={contactInfo.editState} getMsg={value => { //创建一个函数 通过这个函数接收一个 alert(value); this.setState({ contactInfo: {editState:
2021-08-13 17:30:30
132
原创 JavaScript之 this指向(速记)
判断this指向根据优先级判断函数在某个调用位置应用的是哪条规则。按照下面的顺序进行判断:函数是否在new中调用(new绑定)?如果是的话this绑定的是新创建的对象 var fun = new foo() 函数是否通过call、apply(显示绑定)?如果是的话this绑定的是指定的var fun = foo.call(obj)函数是否在某个上下文对象中调用(隐式变量)?如果是的话,this绑定的是那个上下文对象var bar = obj.foo()4.如果使用默认
2021-08-09 16:55:09
103
原创 一文学会React Native(保姆级教程) 持续更新
React Native 官网如果react基础有些遗忘,可以打开React官网查看介绍React Native 是一个使用React和应用平台的原生功能来构建 Android 和 iOS 应用的开源框架。通过 React Native,您可以使用 JavaScript 来访问移动平台的 API,以及使用 React 组件来描述 UI 的外观和行为:一系列可重用、可嵌套的代码。ReactNative环境搭建相比较繁琐 按照React Native 官网进行安装,就可以了,如果失败可以多试几次,也可以
2021-08-06 15:55:22
1639
原创 在vue3环境下用echarts绘制图形在线上环境中路由切换后echarts图不出现以及tab切换时echarts图
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-07-29 14:54:25
2564
原创 Canvas入门保姆级教程(速来围观)
Canvas入门保姆级教程(速来围观)什么是Canvas?Canvas是HTML5新增的组件,它就像一块幕布,可以用JavaScript在上面绘制各种图表、动画等文章地址如果需要更多前端学习资料可以关注前端小嘟获取更多学习资料,私聊作者拉你进前后端学习交流群...
2021-07-21 16:27:40
177
1
原创 cdn引入Element -ui
需求由于老板感觉pad中其中一个项目运行的有点慢,小明接到需求要修改该项目,明确要求不能使用element -ui 但是还是有个同学强行在小明项目上使用了,小明真的是左右为难啊,现在小明只能使用cdn引入啦。cdn引入element-ui小明查看文档并快速的将代码ctrl+c、ctrl+v弄好了,还没运行呢小明就开始洋洋得意了,npm run dev之后,发现项目跑起来了,但是页面呢? 白屏一片,查看报错Vue is not defined这时为何呢,此时小嘟看见了小明的屏幕白了,赶忙上..
2021-07-19 13:25:09
5349
原创 webpack中css-loader、style-loader和less-loader
简单记录一下webpack对css样式进行打包的三个插件按照顺序less-loader当项目中使用less时需要同时引入less-loader,浏览器不能直接编译less,需要less-loader将less语法转化为csscss-loadercss-loader作用是解析css文件的@import和url语句,处理css模块,并将处理的结果以js模块返回经过css-loader的处理,还需要style-loader进行技js的挂载,style-loader的作用是将结果以style的标签方式
2021-07-06 10:06:40
754
1
原创 webpack踩坑之路之 Invalid options object. Copy Plugin has been initialized using an options object
报错信息Invalid options object. Copy Plugin has been initialized using an options object that does not match报错原因 Copy-webpack-plugin运行报错 在npm官网查次插件 发现产生配置错误修改配置发现报错无了...
2021-06-30 08:15:05
2036
1
原创 webpack踩坑记录之 TypeError: webpackMerge is not a function
报错提示:WebpackMerge is not a function根据报错提示发现不能直接使用WebpackMerge查看文档之后修改为WebpackMerge.merge报错就无了webpack踩坑之路记录一下 如果有同学想看webpack实战文章的话请点击...
2021-06-29 17:59:10
650
原创 webpack5.0工程化实战(1)搭建vue开发环境
前言随着前端技术发展,掌握前端工程化越发成为前端工程师必要的条件。日常开发者中,我们常在用例如vue-cli 、 create-react-app等脚手架构建我们项目。但是如果你想在团队脱颖而出,那就需要花费一部分时间去学习webpack本文来自我的微信公众号:前端小嘟本文各插件版本将在文章末尾为大家呈现1.初始化项目新建目录,初始化npmnpm init1.1安装webpack包(建议将三个包同时安装)npm i -D webpack webpa...
2021-06-29 17:42:45
895
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人