自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jonathan的博客

前端技术

  • 博客(93)
  • 收藏
  • 关注

原创 windows下git提交修改文件名大小写提交无效问题

windows系统不区分大小写,以及git提交忽略大小写,git仓库已存在文件A.js,本地修改a.js一般是没有提交记录的,需要手动copy一份出来A.js,再删除A.js文件提交仓库删除后,再提交修改后的a.js文件。看似打开git区分大小写开关,实则修改原文件名时,是新增方式提交远端仓库,将存在2份文件!禁止以下目录下git配置操作:将是灾难。

2024-04-24 11:14:09 207

原创 less几个关键技巧

less 中比较实在的功能点:一、变量声明变量@img: "~@src/img"; // 作为url,可以配合路径别名一起使用,这里可以把图片路径进行声明,减少后期使用时的路径冗余@link-color: #428bca; // 作为属性值@i: 1; // 作为选择器@ml: margin-left; // 作为属性名在less中使用的变量有两种形式:作为属性值a.link { color: @link-color;}作为选择器、属性名、url时,插入变量与普通作为属性值

2022-01-24 16:24:05 830

原创 html使用include引入其他页面文件

HTML从来没有任何方法可以在代码中包含其他HTML文件。例如包含所有页面的页眉和页脚:<body> <include src="./header.html"></include> Content <include src="./footer.html"></include></body><!-- html没有这样的include标签 -->方式:1、使用PHP<body>

2022-01-18 17:22:20 4995

原创 H5唤起app

mes = “alipayqr://platformapi/startapp?saId=10000003”;手机充值mes = “alipayqr://platformapi/startapp?saId=10000007”;扫一扫mes = “alipayqr://platformapi/startapp?saId=10000009”;爱心捐赠mes = “alipayqr://platformapi/startapp?saId=100000011”;彩票首页mes = “alipayqr://pl

2021-11-29 14:47:36 1575

原创 js语法ES6、ES7、ES8、ES9、ES10、ES11、ES12的新特性

ES6(2015)1、let和const let name = 'john'; const arr = [];2、类(Class)class Man { constructor (name) { this.name = name; } console() { console.log(this.name); }}const man = new Man('john');man.console(); // john3、箭头函数(Arrow)const

2021-03-18 17:09:08 2507

原创 iOS系统/android系统

https://www.it610.com/article/1281130129589813248.htm

2021-01-25 15:04:44 211

原创 web项目生成webapp__借助Hbuilder

前期准备一个移动端网站,例如:https://www.cbizunion.top/Hbuilder官网:http://www.dcloud.io/步骤一 下载HbuilderX极客开发者工具打开Hbuilder官网http://www.dcloud.io/,点击HbuilderX图标进入下载页面点击右上角下载根据你的电脑系统选择下载标准版下载内容为一个压缩包软件界面如图所示步骤二 环境配置点击菜单栏 工具 -> 插件安装 找到App真机运行,点击安装,安装后如图回到Hb

2020-11-17 10:49:39 497

原创 web项目生成webapp__借助第三方服务平台

前言不收费,也不需要下载任何工具,web项目就能打包成APP,支持在线和离线,APP名称、LOGO、横竖屏、启动页、引导页等都可以自己设置,非常灵活,并且可以上架到应用市场。操作指南1、创建应用注册中控易动平台账号(https://www.yd-mobile.cn/),点击右上角 “控制台”,进入控制台之后点击 “我的应用”,找到创建应用按钮。2.填写应用信息设置app名称、logo,选择app类型(在线或者离线),在线直接输入网址即可,如下图提示:如果是离线的话,需要上传离线资源包,就可

2020-11-17 09:56:57 1064

原创 英语常用口语1000句

I see. 我明白了。I quit! 我不干了!Let go! 放手!Me too. 我也是。My god! 天哪!No way! 不行!Come on. 来吧(赶快)Hold on. 等一等。I agree。 我同意。Not bad. 还不错。Not yet. 还没。See you. 再见。Shut up! 闭嘴!So long. 再见。Why not? 好呀! (为什么不呢?)Allow me. 让我来。..

2020-10-30 16:59:04 1570 1

原创 什么是中台

项目下沉整合业务和技术,将重复造轮子的部分统一去做,实现有新项目需求时的快速上线。什么公司项目适合中台:从0到1,没必要中台,必要的是快速上线一个项目从1到N, 公司有一定规模,适合搭建,且目前项目复杂度不高,可以项目下沉,使项目活得更好从N到N+1,公司各个项目复杂度高,需要及时整合捋清各个资源,以调整架构长期发展...

2020-06-28 09:21:19 210

原创 webpack的sideEffects到底该怎么用?

https://segmentfault.com/a/1190000015689240tree-shaking仍然对一些引用包做不到移除,比如console.log了一个包引用,而给包添加了side-effects之后会彻底将包移除

2020-06-24 15:10:43 867

原创 如何发布第一个属于自己的npm包

什么是NPM?NPM是随同NodeJS一起安装的javascript包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:1、允许用户从NPM服务器下载别人编写的第三方包到本地使用。2、允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。3、允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。发布前的准备1、注册一个npm账号,前往NPM官网进行注册2、创建一个简单的包,在本地创建一个项目文件夹sugars_demo (名字自己取,不要和NPM上

2020-06-23 14:45:35 216

原创 JavaScript的同步异步

单线程的概念java是一门多线程语言,多线程处理各种各样的事,比如说文件上传,下载等JavaScript是一门单线程的语言,同一个时间只能做一件事,同个时间有多个任务的话,这些任务就需要进行排队,前一个任务执行完,才会执行下一个任务,主要用来实现与用户的交互如果JavaScript是多线程的话,一个线程在一个DOM节点增加内容,另一个线程要删除这个DOM节点,那么这个DOM节点究竟是要增加内容还是删除?这会带来很复杂的同步问题JavaScript的同步异步同步任务:主线程上排队执行的任务,只有

2020-06-23 10:03:16 218

原创 技术小问题解决tips笔记

1、解决 webpack-dev-server 不能使用 IP 访问(如mac下虚拟中通过ip访问, 通过host可以访问mac下ip, 但webpack启动到dev server的ip, windows访问不到)解决:第一种方法:webpack.dev.conf.jsconst HOST = '192.168.x.xx:8080第二种方法:package.json“dev”: ...

2020-06-16 17:13:51 2657

原创 React轻量状态管理库

跨组件通信解决方案:react本身的Context;redux:结合react-redux, 非为react设计的,对于小型应用比较重;mobx:结合mobx-react, 非为react设计的,对于小型应用比较重;dva;其他状态管理方案:react hooks状态管理轮子很多,都囿于redux,unstated-next思想;1、unstated-next:unstated-next:https://www.jianshu.com/p/f5d0d777b523unstated-ne

2020-06-15 09:51:21 858

原创 webpack配置中常用的CommonsChunkPlugin

CommonsChunkPlugin主要是用来提取第三方库和公共模块,避免首屏加载的bundle文件或者按需加载的bundle文件体积过大,从而导致加载时间过长,是一把优化项目的利器。CommonsChunkPlugin作用:一、不分离出第三方和自定义模块项目初始结构,后面打包后会生成dist目录:src目录下各个文件内容都很简洁的,如下:webpack.config.js:接着在命令行运行npm run build,此时项目中多了dist目录:再来看一下命令行中webpack的打包信

2020-06-01 17:07:55 2357

原创 Vue—router-view组件使用方法

开发的时候有时候会遇到一种情况,比如 :点击这个链接跳转到其他组件的情况,通常会跳转到新的页面,但是,我们不想跳转到新页面,只在当前页面切换着显示,那么就要涉及到路由的嵌套了,也可以说是子路由的使用。router-view可以嵌入一个组件,组件内部又可以写router-view嵌入组件,因此可以通过router-view实现组件嵌组件;以饿了么订餐的情景来说吧,在同个页面,切换显示不同组件的相应内容,同时地址栏的地址是会变的怎么实现它呢?首先 我们在导航组件navbar.vue中写了三个导航链接

2020-06-01 14:43:15 8300 1

原创 微宏任务执行顺序比较,promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序

先举一个比较典型的例子:setImmediate(function(){ console.log(1);},0);setTimeout(function(){ console.log(2);},0);new Promise(function(resolve){ console.log(3); resolve(); console.log(4);}).then(function(){ console.log(5);});console.log(6);process.n

2020-05-29 17:43:20 2002 5

原创 JS浏览器事件循环机制

进程、线程进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。线程是进程的执行流,是CPU调度和分派的基本单位,同个进程之中的多个线程之间是共享该进程的资源的。浏览器内核浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程(也不一定,因为多个空白 tab 标签会合并成一个进程),浏览器内核(浏览器渲染进程)属于浏览器多进程中的一种。浏览器内核有多种线程在工作。GUI 渲染线程:负责渲染页面,解析 HTML,CSS 构成 DOM 树等,当页面重绘

2020-05-29 17:16:22 2179 1

转载 Vue 解决Loading chunk (\d)+ failed问题

import Vue from 'vue';import Router from 'vue-router';// 两种页面引入方式// 方式1,将所有页面import进来,会打包成一个巨大的js,首页加载慢,后续页面加载快,不推荐// import Page404 from '@/pages/Page404';// import Indexfrom '@/pages/index';// 方式2,路由懒加载,所有页面按需加载,推荐,但"Loading chunk {n} failed"出现几

2020-05-21 11:02:01 2478

原创 页面底部显示不全问题且挖掘出的打包问题分析解决

现象:1)内容多的页面,页面底部内容显示不全;2)本地环境刷新两下变正常,测试环境怎么刷都还是显示不全;分析:下意识对比开发和测试环境表现差异的css, 发现本地刷新min-height, 会没有然后页面正常,后来找到min-height仅在登录页的style=less下,其他页面只要刷新就没了,因为每个模块只会加载自己模块下css。解决:1、导致页面显示不全问题(min-height...

2020-04-18 22:33:23 861 2

原创 app端前端框架对比 - Mui与ionic、Cordova 、Weex、React Native对比

1.1.1.介绍: mui是最接近原生App体验的前端框架。极小:100k的js文件,60k的css文件。原生编写,不依赖任何三方框架极强:xcode和Android studio里所有原生控件都具备高性能:精练的代码、适时的5+原生动画调用,达到原生应用的体验多端发布:编写一套代码,iOS、Android、浏览器、微信App、百度直达号、流应用全覆盖1.1.2.Mui能力? HTML5...

2020-04-07 12:39:27 3567

原创 GraphQL小tips

前端通过安装包形式引入graphQL(在已有graphQL server端情况下,前端graphQL可直接通过api方法查询接口对应参数数据而过滤不必要的数据字段返回), webpack编译gql文件,GraphQL 不足:写后台接口,要注意的是它并非用来提升接口性能,相反反而会降低接口性能。比如你一个完整响应有 10 个字段,你只要返回两个字段,后台不会只查询那两个字段,而是先查询出完整...

2020-04-07 11:44:27 120

原创 关于骨架屏的一些点

吸引更多的注意力,内容还在加载中,相比于之前的Loading动画,骨架屏页面更容易让用户产生一种错觉,页面快加载完了。骨架屏实现原理很简单,就是通过占位线框元素,渐进式加载数据。不足:增加程序运行负担,无法根本解决页面加载性能问题。开发工作量大,对特定页面数据额外绘制动画效果。总结:骨架屏适用一些固定位置元素,不适用于一些动态位置元素。(比如:列表渲染数据) 建议采用Loading动画+懒...

2020-04-07 09:12:08 433

原创 escape和encodeURI和encodeURIComponent使用场景和区别

函数出现时间: escape() javascript 1.0 encodeURI() javascript 1.5 encodeURIComponent() javascript 1.5函数功能介绍: escape...

2020-03-13 12:49:34 288

转载 vue中的$on, $emit, $once, $off源码实现

这几种模式是基于订阅观察者模式的,维护一个事件中心,on的时候将事件按名称存在事件中心里,称之为订阅者,然后emit将对应的事件进行发布,去执行事件中心里的对应的监听器。第一步就是创建一个构造构造,维护一个事件中心eventsfunction EventEmiter(){ this.events = {}}$on // event可以是事件名数组 EventEmiter.prot...

2020-03-06 12:35:22 1343

原创 flex兼容布局

display:flex和display:box都可用于弹性布局,在实际的测试中display:flex不能完全的替代display:box;display:flex的存在浏览器兼容性,兼容写法:.container{display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ /display: -moz-box; / F...

2020-03-05 12:10:46 213

原创 针对网上的某富文本编辑的bug解决

由于项目中使用了网上某富文本编辑器所带来的一系列bug困惑我许久, 特别花时间来解决它, 下面是关于的解决方案:html内容做文本限制长度超出截断处理后还原html处理:var str = 'abc &nbsp;d 222rftggdb dnn &nbsp;&nbsp;&nbsp;&nbsp;dhdhdhdhh1222 &nbsp; &n...

2019-12-23 15:45:47 459

原创 小数与经纬度的换算

1°(度)=60′(分),1′(分)=60"(秒)用小数依次乘以60即可,如21.251°是21°,0.251X60=15.06′,0.06X60=3.6"所以21.251°=21°15′3.6"

2019-12-18 17:45:32 13667

原创 使用css布局优先展示元素

使用css布局优先展示元素,比如京东商城的banner是优先展示,有2种布局方法:圣杯和双飞翼,圣杯,容器先padding预留左右2个区域,然后优先展示先放,左右后放,浮动布局,left移动双飞翼,容器只给宽度,优先展示部分100%撑满容器,左右两部分,浮动布局,覆盖上去圣杯:<!DOCTYPE html><html><head><style...

2019-10-25 12:29:03 595

原创 用css绘制一些简单的梯形和三角形

教你使用css属性绘制梯形与三角形,其实这个问题主要考察对于盒子模型的结构的一个分析,本人面试也曾被坑过,一个元素的盒子模型结构是这样的,接下来我把所有的情况都列举了下来,以下为代码:<!DOCTYPE html><html><head><style> div { /*height: 100px;*/ width: 6...

2019-10-25 11:14:12 496

原创 互联网的一些事 - 科学与灵修:创业者精神修炼问题

记得第一次把iPhone放在手心时,相信很多人和我一样,会有一种难以言表的感受,觉得这是一个有着难以言表的魅力的产品:无论是产品的外观工业设计、界面操控时的那种优雅的张力,还是用手指操作时那种完整的交互体验,都不仅仅是平常所用的酷或者炫,这种简单的形容词能够表达清楚的。乔布斯时代后期的产品,都有一种直指内心的魅力,有些朋友把它归结为“禅意”,事实上果粉都知道,乔布斯是一个虔诚的修行者,他晚年的产...

2019-10-09 16:24:02 167

转载 使用 cdn.Polyfill向前兼容支持js新特性

现状我们想要用 ES6 语法来写 JavaScript。然而由于我们需要兼容老版本的浏览器,那些浏览器不支持 ES6,我们需要解决这个问题。有一个标准的做法是:写 ES6 代码 → 将所有代码编译成 ES5 的(比如通过 Babel)→ 再将编译后的代码加载到浏览器执行。改进方式有一个 polyfill 项目叫做 Polyfill.io API,它可以通过 polyfill 方式在客户端执...

2019-07-28 23:16:27 6149 1

转载 vue-ssr

为什么要用vue-ssr?前端用的是vue, 后端渲染用vue-ssr,可以无缝的和前端连接起来使用vue-ssr可以把数据渲染成HTML, 并在首屏展示, 用户体验好, 传统的前端vue, 服务器第一次请求只返回#app的空DOM, 当js和ajax请求完成, 才会展示, 体验差利于SEO是所有情况都适用vue-ssr吗?当然不是, 他的最最主要作用是首屏渲染, 其他都是次要的, 比如...

2019-05-20 15:38:22 721

原创 数据结构与算法

程序 = 数据结构 + 算法;一个类就在设计数据结构,一个接口实现的功能就算是算法;要写出优雅的结构良好的程序需要一定的算法功能(如果程序有很多for的时候就要考虑算法了);程序数据杂乱无章的时候就要考虑数据结构了。前端的堆栈:1、栈:存放函数参数,局部变量的值,操作方式就类似数据结构的栈;2、堆:前端的堆不是数据结构的堆,更像链表,一般由程序员分配释放,如果程序员不释放,程序结束可能...

2019-05-05 16:48:58 167

原创 浏览器 - https协议原理与优缺点

https为http协议上的改进,通过SSL(SSL3.0以上为TLS协议)协议加密层进行传输,协议加密层位于传输层与应用之间,将CA证书与内容信息加密进行传输。需要使用https,需要服务器固定ip与ssl证书进行绑定,服务端存有ssl证书的公私钥信息。客户端访问服务器https协议地址,需带有支持SSL的客户端,浏览器客户端先将CA证书下载到本地,本地解析证书是否有效,无效将进行错误提示,...

2019-04-18 11:15:47 863

原创 服务器渲染SSR

https://www.jianshu.com/p/10b6074d772chttps://www.cnblogs.com/ypinchina/p/7238402.html

2019-03-19 11:19:54 615

原创 vscode配置

VSCode 同步设置及扩展插件 实现设备上设置统一准备工作:电脑上需安装VSCode,拥有一个github账户。实现同步的功能主要依赖于VSCode插件 “Settings Sync”Setting Sync 可同步包含的所有扩展和完整的用户文件夹设置文件快捷键设置文件Launch FileSnippets FolderVSCode 扩展设置工作空间...

2019-03-18 20:01:53 2575 2

原创 linux-常用命令

Linux Shell常用shell命令:https://www.cnblogs.com/zhangziqiang/p/7478075.htmllinux查看日志文件内容命令tail、cat、tac、head、echolinux 如何显示一个文件的某几行(中间几行)从第3000行开始,显示1000行。即显示3000~3999行cat filename | tail -n +3000 | ...

2019-03-18 11:07:32 94

原创 css的回流和重绘

回流和重绘当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(其实我觉得叫重新布局更简单明了些)。每个页面至少需要一次回流,就是在页面第一次加载的时候。当render tree中的一些元素需要更新属性,而这些属性只是影响元素的外观,风格,而不会影响布局的,比如background-color。则就叫称为重绘。注:从上面可以看出,回流...

2019-03-18 09:43:32 815

空空如也

空空如也

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

TA关注的人

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