当前位置: 首页 > Web前端 > CSS

前端开发工具集eutils

时间:2023-03-30 18:02:09 CSS

项目介绍本项目整理了常用的前端工具集,包括js工具和css工具;当我们新建一个前端项目时,只需要导入这个npm包,可以省去很多编写工具的重复工作;源码地址APIversioncollection项目Canonical函数使用小驼峰命名对象使用大驼峰命名项目使用webpack构建,支持按需导入支持编译前直接导入源文件:less文件、es6文件安装$npminstall@jnlong/eutilsusejs//js参考方法一importeutilsfrom'eutils';eutils.date.format('2018-9-6','{y}/{m}/{d}{h}:{i}:{s}');//js参考方法2import{type,urlParse,date,logasulog}from'eutils';date.format(newDate(),'YYYY-MM-DDHH:mm:ss.SSS');//按需要导入js源文件importdateasuDatefrom'eutils/src/js/date'style//importcss@import'eutils/dist/index.css';//importless:webpack需要配置less解析@import'eutils/src/style/index.less';@import'eutils/src/style/index.less';usage将各个API的用法写在example/main.js中,可以打开文件查看。示例可以运行示例查看示例gitclonegit@github.com:jnlong/eutils.gitcdeutitlsnpminstall--save-devnpmrundev用浏览器打开http://localhost:8088/查看示例,也可以打开浏览器同时Console查看控制台信息APItools为了方便调用,tools目录下的API生成在eutils根目录下,调用方法:eutils.log()、eutils.toast(msg)log调用方法:eutils.log(arg1,arg2,arg3,...);参数:log(args),接受多个参数;打印日志,可以通过window.isDebug全局控制是否打印开关,实现只在测试环境打印日志;为了提高可读性,打印时设置了一个参数为colordeepCopyobject的深拷贝。使用深拷贝的目的是:避免对拷贝的对象进行修改,并将其传递给源对象;调用方法:eutils.deepCopy(obj);参数参数类型是必需的。dataObject是需要进行深拷贝的对象。返回参数类型。Return:Booleantoasttoast弹窗,调用后弹出一个toast;调用方法:eutils.toast('我是吐司');versionCompare调用方法:eutils.versionCompare(v1,v2);parameter参数类型必填,v1String为版本号1v2String为版本号2返回参数类型说明resNumberv1=v2,返回0;v1大于v2,返回1;v1小于v2,返回-1;dateformat日期格式;调用方法:etutils.date.format(newDate(),'YYYY-MM-DD[at]HH:mm:ss');Parameter参数类型为必填说明dateDate为要格式化的日期formatString为格式样式,例如'YYYY-MM-DD[at]HH:mm:ss'返回参数类型说明resStringreturnsample'2018-10-15at08:06:20'calDuration计算时间2比时间1长,间隔时间更长,前后都支持;比如1年前、3个月前、20天前、5分钟前、2秒前、5个月后、3小时后;调用方法:eutils.date.calDuration(d1,d2);Parameter参数类型必填,表示d1Date为日期1,d2D??ate为日期2返回参数类型说明resString返回时间2相对于时间1,间隔时间更长,如'3个月前','5小时后'等.add(newDate(),unit,count)对于日期对象,添加某一单位的数量;例如,将日期添加3天:add(newDate(),'d',3)调用方法:eutils.date.calDuration(d1,d2);parameter参数类型为必填项,表示d1Date为日期1d2Date为日期2返回参数类型说明resString时间2比时间1长,时间间隔,如'3个月前','5小时后'等cookieget获取饼干;调用方式:eutils.cookie.get(name);Parameter参数类型为必填说明nameString为cookie的名称返回参数类型说明resStringcookievaluesetaddcookie;调用方式:eutils.cookie.set({name:'',value:'',days:3,path:'/'});需要参数type表示optJson是json格式,其中days表示过期时间(以天为单位)deldeletecookie;调用方式:eutils.cookie.del(name);需要参数type表示nameString是cookieurlparsesearch调用方法的名称:eutils.urlparse.search(name,url);需要参数type表示nameString是要查找的query的名称;urlString不是查询所在的url,默认是location.search;返回参数类型表示resStringname在url中,如果找不到对应的值,则返回空字符串('')add向url添加参数,返回新的url;调用方法:eutils.urlparse.add(name,value,url);parameter参数类型为必填表示nameString为查询名称;valueString是查询的值;urlString是否需要加上参数的url,默认是location.search;返回参数类型表示resStringurlremove在添加参数后移除url上的参数;调用方法:eutils.urlparse。删除(名称,网址);parameter参数类型为必填项,nameString为要查找的查询名称;urlString不是查询所在的url,默认是location.search;返回参数类型说明resString删除参数后urlreplace的调用方法:eutils.urlparse.replace(name,newValue,url);参数type需要指明nameString是要查找的query的名称;newValueString是要替换的值;urlString不是查询所在的url,默认是location.search;返回参数类型说明resString将参数替换为urljsonToQuery将json转为url格式;调用方法:eutils.urlparse.jsonToQuery(obj);parameter参数类型必填,objJSON为resString转换后的返回参数类型说明urlqueryToJson将url转换为json格式。调用方法:eutils.urlparse.queryToJson(url);需要参数type表示urlString是否默认为location.search;返回参数类型表示resJson转换的json对象load为了调用方便,load目录的API生成在eutils根目录loadCss动态加载外部css链接,通过id校验避免重复添加;调用方法:eutils.loadCss(href,id);parameter参数类型是必须的,表示hrefString是一个css链接idStringnono如果传参数,不需要检查是否重复添加。loadScript动态加载脚本,通过id校验避免重复添加;调用方法:eutils.loadScript(src,cb,id);参数类型必填,srcString为脚本链接cbFuncton为资源下载成功的回调函数。如果不需要回调,可以传nullidString。如果不传参数,就不会做重复验证。资源下载成功的回调函数。如果不需要回调,可以传nullidString。如果不传参数,则不需要重复添加校验。为了调用方便,类型目录的API生成在eutils的根目录下。调用方法如下:eutils.isSupportWebP()isSupportWebP判断是否支持webp格式的图片返回:BooleanisString(obj)判断obj是否为String类型返回:BooleanisNumber(obj)判断obj是否为Numbe类型返回:BooleanisArray(obj)判断obj是否为Arra类型返回:BooleanisFunction(obj)判断obj是否为Function类型返回:BooleanisDate(obj)判断obj是否为Date类型返回:BooleancheckType类型判断:判断str是否为指定类型,返回Boolean;调用方法:eutils.checkType(str,type);常规检查类型:IP,QQ,english,chinese,tel,phone,postal,email,money,url,date例如:eutils.checkType('13812560000','phone');//返回trueetutil.checkType('aaaxxx','url');//返回falsedetector根据ua环境判断浏览器,版本号;解析调用方法,eutils.detector.parse(ua);parameter参数类型为必填项,表示uaString是否需要验证ua,默认为navigator.userAgentreturnreturnjson,格式如下:{device:{name:"iphone",version:-1,fullVersion:"-1",[iphone]:-1},os:{name:"ios",version:6.1,fullVersion:"6.1",[ios]:6.1},browser:{name:"chrome":version:26.0,fullVersion:“26.0.1410.50”,模式:26.0,fullMode:“26.0.1410.50”,兼容:false,[chrome]:26.0},engine:{name:"webkit",version:536.26,fullVersion:"536.26",mode:523.26,fullMode:"523.26",compatible:false,[webkit]:536.26}}csscommon常用样式word-nowrap:text-Forcenolinebreakword-wrap:Text-Forcedlinebreakellipsis:多余的部分用省略号表示,用于一行ellipsis2:多余的部分用省略号表示,用于两行ellipsis3:多余的部分是用省略号表示,用于三行flex:弹性布局flex-center:弹性布局,水平居中flex-middle:弹性布局,垂直居中flex-cm:弹性布局,垂直和水平居中center:在父元素中,水平和垂直居中;mask:maskLayerbg:backgroundimagestylesettingreset为保持各浏览器初始样式的一致性,进行格式重置;normalize.cssnormalize.cssv8.0.1源码地址:github.com/necolas/normalize.css参考工具集utils:https://github.com/cd-dongzi/...(星190,cssjs)工具集outils:https://github.com/proYang/ou...(启动1189js)