随笔分类 -  前端

前端学习
摘要:在 a 目录下执行 npm link 既可以将 a目录 软链接到 全局的node_module 中,模块名就是 a目录下package 中的name (aa) 在b目录下执行 npm link aa 既可以引用 a目录下的东西 阅读全文
posted @ 2020-06-24 16:25 菜鸟木易 阅读(321) 评论(0) 推荐(0)
摘要:在ios上会出现通过拍照上传的图片出现旋转的现象,图片在手机浏览器(ios,android) img,background-img上显示是旋转的,在电脑上显示并没有旋转(应该是手机浏览器上会根据元信息旋转图片,pc上不会)。android上不会出现。 可以通过exif-js 读取图片的元信息,查看元 阅读全文
posted @ 2020-04-28 11:32 菜鸟木易 阅读(1407) 评论(0) 推荐(0)
摘要:1.利用 animation 实现无js轮播 但是无法做到第一张和最后一张衔接 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title> </title> <style> .contianer{ overflow:hid 阅读全文
posted @ 2019-04-24 00:32 菜鸟木易 阅读(1070) 评论(0) 推荐(0)
摘要:1.node 本身不支持es module语法,需要使用 --experimental-module 来开启,而且会提示它是实验性质的,所以最好还是使用babel node --experimental-module xx.mjs 文件名必须是mjs 才能使用. 阅读全文
posted @ 2019-04-14 23:30 菜鸟木易 阅读(193) 评论(0) 推荐(0)
摘要:如何编写一个loader , loader 是链式调用的,从右往左调用,后写的先调用,调用时传入源码,返回源码的形式 如何编写一个 plugin plugin 的原理是监听webpack 各个生命周期的构子函数执行一些操作。 详细文档如下: https://www.webpackjs.com/con 阅读全文
posted @ 2019-04-14 23:16 菜鸟木易 阅读(343) 评论(0) 推荐(0)
摘要:babel 实际上是一个平台和postcss一样的平台,它只负责将js 转换成 AST 抽象语法树,实际怎么转换语法需要plugin 去做。 babel 做了如下三件事 1.将js 源码转换成AST 语法树 2.通过插件修改AST语法树 3.将AST语法树转换成js 源码 其实我们自己也可以实现一个 阅读全文
posted @ 2019-04-14 22:33 菜鸟木易 阅读(364) 评论(0) 推荐(0)
摘要:css 处理插件大致分为压缩css和给css添加浏览器兼容前缀。 cssmin 可以压缩css,大致原理是将使用正则将css 中的注释和空格删除。 px2rem 插件是将css 中的px 转换为 rem,它的原理是 调用了css 的AST对象 ,css插件将css内容解析成 一个javascript 阅读全文
posted @ 2019-04-14 17:16 菜鸟木易 阅读(2428) 评论(0) 推荐(0)
摘要:js中的正则表示式 String.prototype tring.prototype 方法的正则有 match,search match 返回匹配的项,search 返回匹配的第一个索引如下: 如果是 /g String 的方法不会返回子匹配的项,而RegExp的 exec 方法会返回子匹配项,如: 阅读全文
posted @ 2019-04-06 23:50 菜鸟木易 阅读(252) 评论(0) 推荐(0)
摘要:1.自定义事件,其实就是事件的监听,触发,是设计模式中的观察者模式。主要有三个方法:on,off,emit。 基本实现如下: Array.prototype.remove = function(item){ var temp = []; var index; for(var i=0; i<this. 阅读全文
posted @ 2018-07-24 00:03 菜鸟木易 阅读(228) 评论(0) 推荐(0)
摘要:前端路由指的是单页面的应用可以使用浏览器的后退前进按钮操作,但是却不会向服务器端重新请求页面,表现为浏览器地址栏会变化,但页面不重新请求。 有两种实现方式1.通过监听hash的变化,使用location.hash=xx来添加浏览器记录,location.replace,location.hash每被 阅读全文
posted @ 2018-07-10 15:24 菜鸟木易 阅读(113) 评论(0) 推荐(0)
摘要:1.es6过一遍 http://www.cnblogs.com/lguow/articles/9232577.html 阅读全文
posted @ 2018-07-10 14:37 菜鸟木易 阅读(126) 评论(0) 推荐(0)
摘要:动画方面的库: 1.Velocity.js: [英] [viˈlɔsiti] 快速,http://www.mrfront.com/docs/velocity.js/index.html 是一款比jquery.animate更轻量级的库,更高效的库。配合jquery使用时,和jquery.animat 阅读全文
posted @ 2018-06-22 09:48 菜鸟木易 阅读(94) 评论(0) 推荐(0)
摘要:浏览器上支持:输入框不在页面可见区域,但焦点在输入框内,仍然可以输入,输入框必须是visibale的。 在vivox6plus自带浏览器上,这种场景输入一个字后后,输入框就会失焦,(输入框必须在页面可见范围内才不会失焦),将输入框设置为透明,光标设置为透明 可以解决,但是这个浏览器上存在一个无法屏蔽 阅读全文
posted @ 2018-06-20 17:33 菜鸟木易 阅读(124) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/2050/p/3877280.html 网页上有 meta name=viewport 标签,它的宽度表示屏幕能显示的css px 宽度,使用document.documentElement.clientWidth可以获取 ,通常将它设置成device 阅读全文
posted @ 2018-06-13 17:51 菜鸟木易 阅读(470) 评论(0) 推荐(0)
摘要:热替换是利用h5 的新事件 eventSource 实现的,服务器向前端单向推送消息的事件,服务推送给前端,修改的文件 前端请求到该修改的文件插入到页面中,然后执行该js,页面局部渲染出来,原先的执行逻辑由新的替换。 eventSource 和serversocke的区别是,更简单,且是单向的,只能 阅读全文
posted @ 2018-06-04 09:41 菜鸟木易 阅读(1202) 评论(0) 推荐(0)
摘要:1.document.createDocumentFragment,创建文档碎片,文档碎片被插入到dom时,只会插入它的子元素 var fragment = document.createDocumentFragment(); var div = document.createElement("di 阅读全文
posted @ 2018-05-30 20:24 菜鸟木易 阅读(115) 评论(0) 推荐(0)
摘要:1.使用rest 实现yuepao项目 阅读全文
posted @ 2018-05-30 16:56 菜鸟木易 阅读(97) 评论(0) 推荐(0)
摘要:dom 级 指的是dom的事件 dom 0 级是 onclick 这种写法的事件,及嵌入在html内的 dom 2级是 addeventstener 事件冒泡和事件捕获 dom3级是对dom 事件的规范和补充 主要有:使用 focusin 和focusout 不冒泡 代替冒泡的 focus blur 阅读全文
posted @ 2018-05-22 22:15 菜鸟木易 阅读(1692) 评论(0) 推荐(0)
摘要:1.array 常用方法 2.string 常用方法 3.window上的全局方法 bind 阅读全文
posted @ 2018-05-22 19:59 菜鸟木易 阅读(116) 评论(0) 推荐(0)
摘要:1.http://www.cnblogs.com/xxcanghai/p/5189353.html 阅读全文
posted @ 2018-05-22 19:41 菜鸟木易 阅读(91) 评论(0) 推荐(0)