技术使用
sma2mmm
记录学习的脚步
展开
-
一个域名,无任何变化,实现新旧版本的无缝切换
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 · 1646 阅读 · 0 评论 -
webstorm 中回退到git某个历史版本
git 版本回退实操记录原创 2022-10-26 10:57:57 · 3438 阅读 · 1 评论 -
typescript 基础知识
typescript,基础转载 2022-10-18 14:15:43 · 104 阅读 · 0 评论 -
typescript+rollup打包SDK学习摘要
typescript,rollup原创 2022-10-18 10:36:32 · 294 阅读 · 0 评论 -
vscode 使用nvm管理node版本采坑解决指南
vscode nvm采坑原创 2022-03-21 11:05:46 · 1747 阅读 · 0 评论 -
浏览器端Less
摘要: 之前项目用过Less,现在负责的项目也要使用,所以就总结下Less,也方便以后查看。本文主要是讲浏览器端如何使用Less。简介: LESS是一种由Alexis Sellier设计的动态层叠样式表语言。LESS 是开源的,其第一个版本由Ruby写成,但在后续的版本当中,Ruby逐渐被替换为JavaScript。受益于JavaScript,LESS可以在客户端上运行(IE6+、...转载 2018-11-15 09:59:27 · 445 阅读 · 0 评论 -
js和java中string的长度length
在JS中,字符串类型String和数组类型Array都有一个叫length的长度属性值,可以用[对象名.length]的方式读取出来,这里的length是对象固有的属性,不是方法,因此不用.length(),而是直接用.length。 在Java中,数组是引用数据类型,不是类,因此也是读取固有的length属性得到数组长度,它没有length()方法。但是,java...转载 2018-11-23 09:15:37 · 387 阅读 · 0 评论 -
为什么CSS选择器是从右往左解析
一、CSS选择器的解析顺序相信很多人在一开始接触CSS的时候都会看到一条规则就是尽量少使用层级关系,比如尽量不要写成:#div P.class { color: red;}123而是写成:.class { color: red;}123之所以需要这么写,给的解释是这样可以减少选择器匹配的次数(推荐一个CSS规范的网站)。初看觉得哦,有点道理啊,但是往...转载 2018-11-23 09:27:17 · 425 阅读 · 1 评论 -
gulp 配置环境变量
通过 process.argv 来获取通过命令行传入的参数process 对象是一个全局变量,它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程。 因为是全局变量,所以无需使用 require()。process.argv 属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数。第一个元素为process.execPath。如果需要获取argv[0...原创 2018-12-04 10:26:58 · 3392 阅读 · 0 评论 -
微信公众号中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 · 5676 阅读 · 0 评论 -
常见问题总结
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 · 145 阅读 · 0 评论 -
关于OCR身份证识别
PC端输入漫长的身份证号码,想想还可以接受;手机端输入。。。。然后我们准备接入OCR,发现微信里也有,要不用用看,反正我没用,链接贴出来https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21516712284rHWMX看到社区一堆吐槽,还要发邮件申请。。看到百度云,腾讯云,阿里云。。都已经成熟,果断弃坑,转向百度云...原创 2019-01-11 19:30:45 · 1164 阅读 · 0 评论 -
小程序开发总结
注意同一套代码应用于不同小程序时,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 · 297 阅读 · 0 评论 -
用户在浏览器输入URL或者跳转到一个URL后发生了什么
一、从URL到页面渲染的整个过程1 处理用户输入2 开始导航3 读取响应4 查找渲染进程5 确认导航6 渲染页面二、每一步做了哪些事情1 处理用户的输入浏览器的UI 线程处理用户的输入,判断是跳转过来的还是用户自己的输入判断依据是请求报文中referer这个参数,值是NUll,用户自己手动输入2 开始导航用户敲了回车之后,监听用户行为的UI线程告诉n...原创 2019-03-15 15:42:23 · 2413 阅读 · 0 评论 -
webpack---bable-loader
解决本地运行打包慢的问题 cacheDirectory:默认false。设置后,给定目录将用于缓存加载器的结果。未来的webpack构建将尝试从缓存中读取,以避免在每次运行时运行可能昂贵的Babel重新编译过程。如果值为空(loader: 'babel-loader?cacheDirectory')或true(loader: 'babel-loader?cacheDirectory=true...原创 2018-11-13 19:52:17 · 399 阅读 · 0 评论 -
css & postcss
CSS自身的弱编程能力浏览器实现不理想甚至实现方案各一。对CSS的兼容处理几乎是每个前端工程师必备的技能,究其根本是浏览器对CSS规范的实现程度和方案不一。其中尤以IE浏览器最甚,包括以IE内核的众多国产浏览器。虽然目前绝大多数web应用已经不在兼容IE8以下浏览器,但IE8和IE9仍然让前端工程师们头疼不已; CSS的弱编程能力。CSS通过“selector-properties”的模式为...转载 2018-11-08 09:53:01 · 524 阅读 · 0 评论 -
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 · 660 阅读 · 0 评论 -
学习使用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 · 259 阅读 · 0 评论 -
理解透明度原理
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 · 1836 阅读 · 0 评论 -
大牛博客收藏
转自: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 · 492 阅读 · 0 评论 -
手机移动端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 · 515 阅读 · 0 评论 -
vue2 开发问题整理
vue2 常见坑做了vue2 项目,把遇到的坑整理下:babel 解析报错 未使用eslint SyntaxError: Unexpected token methods: { …mapActions([ ‘increment’, ‘incrementIfOdd’ ]) } 解决方案:可以安装整个stage2的预置器或者安装 Object Rest Operator 的babe原创 2017-08-07 11:35:47 · 306 阅读 · 0 评论 -
react+webapck+redux+browser-sync+nginx开发总结
1 使用browserHistory 打包后页面刷新出现404:解决方法:nginx:server { ... location / { try_files $uri /index.html }}原创 2018-02-28 17:00:49 · 215 阅读 · 0 评论 -
更新应用商店RN应用版本
修改文件路径:\android\app\build.gradle targetSdkVersion 和 versionCode 是递增的版本号,要比你之前上传应用市场的要高versionName 是你自己定义的版本号:用户安装时会看到此版本号。...转载 2018-10-25 11:43:24 · 486 阅读 · 0 评论 -
return&break&continue
1.return关键字并不是专门用于跳出循环的,return的功能是结束一个方法。一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内2.continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循...原创 2018-11-06 11:38:26 · 140 阅读 · 0 评论 -
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 · 635 阅读 · 0 评论 -
常用正则
基本符号:^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)$ 表示匹配字符串的结束位置* 表示匹配 零次到多次+ 表示匹配 一次到多次 (至少有一次)? 表示匹配零次或一次. 表示匹配单个字符 | 表示为或者,两项中取一项( ) 小括号表示匹配括号中全部字符[ ] 中括号表示匹配括号中一...原创 2018-11-07 13:49:36 · 123 阅读 · 0 评论 -
小程序开发总结
待续。。。。原创 2018-11-07 14:25:58 · 133 阅读 · 0 评论 -
require.ensure()和import() 使用区分
require.ensure() 在webpack 2的官网上写了这么一句话: require.ensure()特定于的的的WebPack并由进口()取代。 所以,在webpack 2里面应该是不建议使用require.ensure()这个方法的。但是目前该方法仍然有效,所以可以简单介绍一下。包括在webpack 1中也是可以使用。下面是requi...转载 2018-11-07 17:21:52 · 45246 阅读 · 0 评论 -
package.json的那些事
一 dependencies && devDependenciesdependencies字段指定了项目运行所依赖的模块;devDependencies指定项目开发所需要的模块它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。二 peerDependencies有时,你的项目和所依赖的模块,都会同时依赖另一个模块...原创 2018-11-05 16:22:57 · 102 阅读 · 0 评论 -
截取部分网页以图片保存到本地
html2canvas(document.querySelector("#content") ).then(function (canvas) { var type = "png"; var image = canvas.toDataURL("image/png");原创 2016-10-18 16:57:18 · 764 阅读 · 0 评论