- 博客(38)
- 收藏
- 关注
原创 视频机码流播放方案Flvjs vs Jessibuca
flv是bilibili的前开发人员写的,使用和点星数量还行,但是该开发人员离职,不维护了。FLVJS流畅度完虐Jessibuca,但是我用的是开源版的Jessibuca。jessibuca因为有Pro收费版,所以一直在维护,而且有专门的群解答问题。jessibuca支持flv/hls/mp4。flvjs支持flv和mp4。2、播放的视频流格式。
2025-04-03 19:14:22
91
原创 微前端实现方案对比Qiankun VS npm组件
npm组件:开发修改比较繁琐,特别是有嵌套比较深的底层组件,整个改动需要更新嵌套流程的所有npm项目;1、Qiankun是典型的微前端架构,侧重构建多个独立前端应用协同工作的架构,主应用负责自用用的加载、卸载和通信;NPM组件:技术栈依赖,除了用JS封装的组件可以通用之外,React封装的组件只能在React中应用,Vue的组件只能在Vue中应用。Qiankun:独立开发部署,不影响其他子应用和主应用,部署比较复杂,主要是自应用和主应用的部署顺序和版本兼容问题。Qiankun:大型复杂,多团队协作的项目;
2025-03-31 17:35:07
324
原创 Webpack 模块联邦 vs npm 私服
模块联邦允许在运行时动态加载远程模块,无需重新构建或发布应用。适合需要频繁更新或动态加载的场景。每个应用可以独立开发和部署,模块联邦在运行时将它们组合在一起。适合微前端架构或跨团队协作。可以通过shared配置共享依赖(如 React、Lodash),避免重复加载。减少包体积,提升性能。可以直接复用远程应用的模块,避免重复开发。支持按需加载,减少初始加载时间动态加载远程模块依赖于网络,可能增加延迟。在网络较差的环境中,性能可能受到影响。配置和使用模块联邦需要一定的学习成本。
2025-03-17 17:17:57
1247
原创 Webpack 模块联邦 VS npm 私服
Webpack 模块联邦:可以在多个独立应用之间共享和复用核心业务逻辑,避免代码重复,提高开发效率和维护性模块联邦是Webpack 5引入的功能,允许将应用拆分为多个独立的模块,并在运行时动态加载和共享这些模块。Host(宿主应用):消费其他应用模块的应用。Remote(远程应用):提供模块给其他应用使用的应用。Shared(共享模块):在多个应用之间共享的依赖(如 React、Lodash)
2025-03-17 17:11:31
320
原创 为什么append到父节点后的子节点发生修改,父节点打印出来的也会变化
3)通过BatteryCapacityDiv对象修改值内存中的值改变,但是BatteryCapacityDiv对象、parentNode中的key对应的内存地址并没有改变。2)使 parentNode 指向 BatteryCapacityDiv 对象, parentNode也对应 BatteryCapacityDiv 的内存地址。今天走查前端代码,发现历史代码写出来的不规范,但是他还是在生产运行了很久的代码,仔细思量后发现,其实原理是对的,只是看起来不美观,不易读而已。看出来没,一模一样,怎么理解呢?
2023-10-07 16:30:51
161
原创 一个域名,无任何变化,实现新旧版本的无缝切换
nginx 的location目录增加 /new的配置,直接代理到新版本;新版通过域名+/new访问:eg:www.test.com/new。1、新旧版本的切换设置cookie,通过isNew来进行标记。2、nginx中获取标记的方式$cookie_isNew;3、默认进入旧版,旧版访问方式:www.test.com;加一个路径,作为新版本的访问方式,配置nginx实现。旧版直接通过域名访问;
2023-02-15 19:13:56
5963
原创 用户在浏览器输入URL或者跳转到一个URL后发生了什么
一、从URL到页面渲染的整个过程1 处理用户输入2 开始导航3 读取响应4 查找渲染进程5 确认导航6 渲染页面二、每一步做了哪些事情1 处理用户的输入浏览器的UI 线程处理用户的输入,判断是跳转过来的还是用户自己的输入判断依据是请求报文中referer这个参数,值是NUll,用户自己手动输入2 开始导航用户敲了回车之后,监听用户行为的UI线程告诉n...
2019-03-15 15:42:23
2455
原创 小程序开发总结
注意同一套代码应用于不同小程序时,appId一定要切换一、cover-view1、只支持overflow-y:auto;不支持横向滚动 2、cover-view 样式实时更新有问题,不能通过判断更新样式二、web-view1、内嵌h5的jssdk最好切换至版本1.3.2;支持返回小程序2、内嵌h5用到公众号的功能(例如扫一扫),使用公众号的APPid和APPSe...
2019-02-28 12:43:18
325
原创 关于OCR身份证识别
PC端输入漫长的身份证号码,想想还可以接受;手机端输入。。。。然后我们准备接入OCR,发现微信里也有,要不用用看,反正我没用,链接贴出来https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21516712284rHWMX看到社区一堆吐槽,还要发邮件申请。。看到百度云,腾讯云,阿里云。。都已经成熟,果断弃坑,转向百度云...
2019-01-11 19:30:45
1220
原创 常见问题总结
1 jquery中attr和prop的区别对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法上面的描述也许有点模糊,举几个例子就知道了。 <a href="http://www.baidu.com" target="_self" class="btn">百度</a> 这...
2018-12-11 11:35:30
161
原创 gulp 配置环境变量
通过 process.argv 来获取通过命令行传入的参数process 对象是一个全局变量,它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程。 因为是全局变量,所以无需使用 require()。process.argv 属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数。第一个元素为process.execPath。如果需要获取argv[0...
2018-12-04 10:26:58
3469
原创 微信公众号中h5页面扫一扫实现
开发文档参考链接:https://mp.weixin.qq.com/wiki?t = resources / status_main&id = mp14211411151 配置本地nginxserver { listen 80; server_name localhost; root 代码路径; index ...
2018-11-30 16:34:50
5751
转载 为什么CSS选择器是从右往左解析
一、CSS选择器的解析顺序相信很多人在一开始接触CSS的时候都会看到一条规则就是尽量少使用层级关系,比如尽量不要写成:#div P.class { color: red;}123而是写成:.class { color: red;}123之所以需要这么写,给的解释是这样可以减少选择器匹配的次数(推荐一个CSS规范的网站)。初看觉得哦,有点道理啊,但是往...
2018-11-23 09:27:17
477
转载 js和java中string的长度length
在JS中,字符串类型String和数组类型Array都有一个叫length的长度属性值,可以用[对象名.length]的方式读取出来,这里的length是对象固有的属性,不是方法,因此不用.length(),而是直接用.length。 在Java中,数组是引用数据类型,不是类,因此也是读取固有的length属性得到数组长度,它没有length()方法。但是,java...
2018-11-23 09:15:37
405
转载 浏览器端Less
摘要: 之前项目用过Less,现在负责的项目也要使用,所以就总结下Less,也方便以后查看。本文主要是讲浏览器端如何使用Less。简介: LESS是一种由Alexis Sellier设计的动态层叠样式表语言。LESS 是开源的,其第一个版本由Ruby写成,但在后续的版本当中,Ruby逐渐被替换为JavaScript。受益于JavaScript,LESS可以在客户端上运行(IE6+、...
2018-11-15 09:59:27
482
原创 webpack---bable-loader
解决本地运行打包慢的问题 cacheDirectory:默认false。设置后,给定目录将用于缓存加载器的结果。未来的webpack构建将尝试从缓存中读取,以避免在每次运行时运行可能昂贵的Babel重新编译过程。如果值为空(loader: 'babel-loader?cacheDirectory')或true(loader: 'babel-loader?cacheDirectory=true...
2018-11-13 19:52:17
447
转载 css & postcss
CSS自身的弱编程能力浏览器实现不理想甚至实现方案各一。对CSS的兼容处理几乎是每个前端工程师必备的技能,究其根本是浏览器对CSS规范的实现程度和方案不一。其中尤以IE浏览器最甚,包括以IE内核的众多国产浏览器。虽然目前绝大多数web应用已经不在兼容IE8以下浏览器,但IE8和IE9仍然让前端工程师们头疼不已; CSS的弱编程能力。CSS通过“selector-properties”的模式为...
2018-11-08 09:53:01
568
转载 require.ensure()和import() 使用区分
require.ensure() 在webpack 2的官网上写了这么一句话: require.ensure()特定于的的的WebPack并由进口()取代。 所以,在webpack 2里面应该是不建议使用require.ensure()这个方法的。但是目前该方法仍然有效,所以可以简单介绍一下。包括在webpack 1中也是可以使用。下面是requi...
2018-11-07 17:21:52
45374
原创 常用正则
基本符号:^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)$ 表示匹配字符串的结束位置* 表示匹配 零次到多次+ 表示匹配 一次到多次 (至少有一次)? 表示匹配零次或一次. 表示匹配单个字符 | 表示为或者,两项中取一项( ) 小括号表示匹配括号中全部字符[ ] 中括号表示匹配括号中一...
2018-11-07 13:49:36
140
原创 jquery命名空间
一 源码:$.namespace = function() { var a=arguments, o=null, i, j, d; for (i=0; i<a.length; i=i+1) { d=a[i].split("."); o=window; for (j=0; j<d.length; j=j+1) { ...
2018-11-06 12:58:27
662
原创 return&break&continue
1.return关键字并不是专门用于跳出循环的,return的功能是结束一个方法。一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内2.continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循...
2018-11-06 11:38:26
170
原创 npm 包开发初体验
1 创建npm账号2 配置秘钥3 下载生成秘钥APP4 创建目录,npm init,配置name以及version5 npm login6 npm publish name7 修改文件8 npm publish 输入秘钥待解决问题:1 版本兼容问题,本插件使用第三方组件antd ,如果使用本插件的开发目录中也使用antd,并且版本低于本插件中版本会报错npm...
2018-11-05 16:31:50
688
原创 package.json的那些事
一 dependencies && devDependenciesdependencies字段指定了项目运行所依赖的模块;devDependencies指定项目开发所需要的模块它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。二 peerDependencies有时,你的项目和所依赖的模块,都会同时依赖另一个模块...
2018-11-05 16:22:57
127
转载 更新应用商店RN应用版本
修改文件路径:\android\app\build.gradle targetSdkVersion 和 versionCode 是递增的版本号,要比你之前上传应用市场的要高versionName 是你自己定义的版本号:用户安装时会看到此版本号。...
2018-10-25 11:43:24
523
原创 react+webapck+redux+browser-sync+nginx开发总结
1 使用browserHistory 打包后页面刷新出现404:解决方法:nginx:server { ... location / { try_files $uri /index.html }}
2018-02-28 17:00:49
230
原创 vue2 开发问题整理
vue2 常见坑做了vue2 项目,把遇到的坑整理下:babel 解析报错 未使用eslint SyntaxError: Unexpected token methods: { …mapActions([ ‘increment’, ‘incrementIfOdd’ ]) } 解决方案:可以安装整个stage2的预置器或者安装 Object Rest Operator 的babe
2017-08-07 11:35:47
334
原创 手机移动端WEB资源整合学习整理
学习链接meta<meta charset="utf-8"><meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport"><meta content="yes" name="apple-mobile-web-app-capable"><meta co
2016-11-29 10:35:52
542
原创 理解透明度原理
opacity父级元素设置opacity,会对子元素有影响,比如子元素字体颜色 设置格式opacity:0.5;background:#000rgba父级元素设置透明度只会对自身有影响,不会对子元素造成影响 background:rgba(0,0,0,0.5);ie设置opacity:0.1; //IE8以上浏览器识别 filter: progid:DXImageTransform.Micr
2016-11-09 10:16:12
1882
原创 学习使用px,em ,rem
一:px,em,rem介绍px 像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。(引自CSS2.0手册)em 是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册)rem 是CSS3新增的一个相对单位(root em,根em)是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小
2016-11-09 09:40:48
275
转载 大牛博客收藏
转自:http://www.cnblogs.com/peterli2013/archive/2014/01/22/3530070.html张鑫的博客http://www.zhangxinxu.com/life/about/ 前端观察:http://www.qianduan.net/page/4 中文博客名称活跃度原创度
2016-10-19 15:16:59
537
原创 截取部分网页以图片保存到本地
html2canvas(document.querySelector("#content") ).then(function (canvas) { var type = "png"; var image = canvas.toDataURL("image/png");
2016-10-18 16:57:18
800
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人