luch-request 基于 Promise 开发的 uni-app 跨平台请求库。对于使用者来说,最突出的优点是: 方便简单的自定义能力,可以通过 custom 自定义参数;相当于 uni.request() 来说,可配置更高,支持请求拦截,响应拦截
预先定义好schema,如myapp://... 通过前端发送伪连接请求iframe.src
写项目的时候,有一些方法我们是需要全局使用的,比如数字的四色五入保留小数点啊、一些工具方法、字符的格式化啊等等。这些很多页面需要用的、使用频率极高的方法,我们一般会将其封装为全局的方法;我以前是这样做的,有这么几种方式: 1、挂载到vue.prototype 在main.js入口文件中挂载到vue.prototype,如我们封装一个获取时间戳的函数。 Vue.prototype.now = Date.now || function () { return new Date().getTim
年初突然有了个想法,前端也做了几年了,但是很多知识还很零散,应该系统的把知识归纳起来,于是给自己制定了一个计划,决定花大半年的时间整理一下大前端的知识,把他们都写成文章。这个计划包括页面布局,JavaScript,计算机网络,Vue.js,React.js,Node.js,设计模式,架构,工程化,数据结构和算法,实战项目。 所谓学习的三个阶段:学一遍,做一遍,讲一遍。这个计划就是讲一遍,同时在讲的过程中,对自己的知识进行查漏补缺。 本计划所有文章都托管在GitHub上:github.com/dennis-jian… 下面是已经写作完成的文章列表,标题前加了推荐!!的都是点赞还不错的文章。
实现Ajax提交数据进行请求,其中data属性设置传参的方法有好几种形式,如下: //第一种写法(把参数拼接在URL中,data属性设为空{ })
我们经常听说:“写代码要有良好的封装,要高内聚,低耦合”。那怎样才算良好的封装,我们为什么要封装呢?其实封装有这样几个好处:
有了前面两篇文章的基础后,我们来谈一谈在JS中创建对象的几种方式。 建议大家先预习下先前的两篇博客: 稳扎稳打JavaScript(一)——作用域链 稳扎稳打JavaScript(二)——图解对象内存模型 在JS中,创建对象的方式有很多,而且各有千秋,我们需要根据实际的业务需求选择不同的方式。 1. 工厂模式 这是创建对象最为简单的方式。 1.1. 定义方式 工厂模式的思想是:将对象构建的过程封装在一个函数中。这个函数能创建一个对象,并为他进行初始化赋值,最后返回这个对象。若要新建对象,调用这个
UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等;但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了。
我们在上一篇《[JavaScript从入门到放弃] Node篇 2.Express路由分离及传参》简单的学习了设置路由以及获取参数的几种方式,但显然我们只能利用他们做点简单的操作。如果要做个真正的网站,还是需要和数据库结合起来的。 本章,我们就来使用NodeJS来操作MySQL数据库吧,因为MYSQL免费,而且很轻,安装方便,所以很受初创企业和个人开发者的欢迎。 首页新建个models层,里面新建个user_dao文件,与routes/user.js对应。分层嘛,以后与User业务相关的数据库操作都写在这里
Vue推荐我们使用Axios,vue-resource在Vue2.0后就不再更新,本文对Axios的用法不做过多的介绍,只是在项目上简单封装及使用,如果有需要了解的,可以访问github
前沿:自从前端和后端分家之后,前后端接口对接就成为了家常,“谁”也离不开谁,而对接接口的过程就离不开接口文档,比较主流就是Swagger(强大的API文档工具),当然今天它不是主角,顶多也就是个辅助。这篇文章旨在梳理如何在前端项目中更好的去管理跟后端“对接”的接口
程序猿的本职工作就是写代码,写出高质量的代码应该是我们的追求和对自己的要求,因为:
image.png 在今天同学们发我的作业中,我给一个同学回复说,你这不是组件化,只是一个效果的实现。他问我,那还要什么呢?我不是特别理解。 今天咱们先聊一下,什么是组件。这个东西其实没有一个正式的定义,说什么什么样就是组件,别的样的不是组件。没有的,没有这样的一个说法,一般来讲,我个人认为有以下这几种情况, 1,着重于具体业务的封装,不强调复用性。就是比如一个大方法,大函数吧,一个动画,一个购物车,一个页面路由,这都是针对具体业务的,拿到其它网站就没法用了。这些对于业务的组件化封装,目的为了可维护性。 2
一、Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随 意做其他事情,不会被卡死
聊接口管理,离不开请求库,vue技术栈中请求库谈及最多的,非axios莫属,先让我们重新梳理下axios
Nest.js 是一个 Node.js 的后端框架,它对 express 等 http 平台做了一层封装,解决了架构问题。它提供了 express 没有的 MVC、IOC、AOP 等架构特性,使得代码更容易维护、扩展。
作者|波同学 原文|http://www.jianshu.com/p/b3dee0e84454 前面几篇文章,我跟大家分享了JavaScript的一些基础知识,这篇文章,将会进入第一个实战环节:利用前面几章的所涉及到的知识,封装一个拖拽对象。为了能够帮助大家了解更多的方式与进行对比,我会使用三种不同的方式来实现拖拽。 1、不封装对象直接实现; 2、利用原生JavaScript封装拖拽对象; 3、通过扩展jQuery来实现拖拽对象。 本文的例子会放置于codepen.io中,供大家在阅读时直接查看。如果对于
在 canvas 里,变换是基础功能。很多基于 canvas 封装的库都有这功能,比如 《Fabric.js 变换视窗》。
最近接触android中js与java交互的东西很多,当然它们之间的交互方式有几种,但是我觉得这几种交互方式都存在一定的不足,这是我决定编写SimpleJavaJsBridge这个库的关键原因。
网上找的科普贴,整理了一下发给大家,出处见底部链接。有许多类比的例子不太准确,大家参考下就行。
前面几篇文章,我跟大家分享了JavaScript的一些基础知识,这篇文章,将会进入第一个实战环节:利用前面几章的所涉及到的知识,封装一个拖拽对象。为了能够帮助大家了解更多的方式与进行对比,我会使用三种不同的方式来实现拖拽。
我们会用 Javascript、Typescript 来写前端应用,用 Java、Go 等来写后端应用,也会用 Python 来写一些工具脚本。
与传统 html 标签类属性不同,react 中 class 必须编写为 className,比如
利用html里面script标签可以加载其他域下的js这一特性,使用script src的形式来获取其他域下的数据,但是,因为是通过标签引入的,所以,会将请求到的JSON格式的数据作为js去运行处理,显然这样运行是不行的。
昨天上级领导给安排一个任务,去写一个查询被执行人信息的插件,该插件的主要作用是可以查询某些公司,或者某些人是否上过失信黑名单,或者因为违法被法院强制执行过某些措施。
文 | 接灰的电子产品 对于我这种「不用 Rx 会死星人」来说,如果一个平台没有 Rx,在上面写代码会很痛苦。 所以,自从我开始开发微信小程序以来,就在一直在研究怎么把 RxJS 引入到微信小程序中。 这几天,我终于有了阶段性成果。那「Rx」为什么加引号?嗯,原因是……经过几天的艰苦奋战,我还是没找到把 RxJS 库正确引入到微信小程序的方法。 实际上,我找了一个替代品:XStream ( https://github.com/staltz/xstream )。这个类库呢,和 RxJS 差不多,但更轻量。
js中创建对象最简单的方法自然是直接new一个Object然后再为其添加属性和方法,例如一下代码:
抽象工厂设计模不直接生成实例,而是用于对产品类簇的创建。SDK使用不同的第三方JS-SDK进行注册的,如:钉钉,企业微信,云之家等。那么这三类工具就是对应的类簇。在抽象工厂中,它其实是由几种子类型组成的,当创建SDK类实例时候,它先判断一下应该用哪个子类,然后创建该子类的实例返回给你
DrissionPage 是一个基于 python 的网页自动化工具。它既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和 requests 的高效率。它功能强大,内置无数人性化设计和便捷功能。它的语法简洁而优雅,代码量少,对新手友好。
以上是最常见的React router。在简单的单页应用中,这样写是ok的。因为打包后的单一js文件bundle.js也不过200k左右,gzip之后,对加载性能并没有太大的影响。 但是,当产品经历多次迭代后,追加的页面导致bundle.js的体积不断变大。这时候,优化就变得很有必要。
用 requests 做数据采集面对要登录的网站时,要分析数据包、JS 源码,构造复杂的请求,往往还要应付验证码、JS 混淆、签名参数等反爬手段,门槛较高,开发效率不高。使用浏览器,可以很大程度上绕过这些坑,但浏览器运行效率不高。
在做vue中大型项目的时候,官方推荐使用axios,但是原生的axios可能对项目的适配不友好,所以,在工程开始的来封装一下axios,保持全项目数据处理的统一性。此文主要讲在vue-cil项目中如何封装axios,封装请求,封装公共的api,页面如何调用请求。
三月份有很多朋友辞职跳槽,也遇到了许许多多的面试题,在交流群里和网站上总结了一些常见的面试题,细细分析,其实基本都是万变不离其宗,所有的问题都是从某一技术点的基础出发,综合考量,如果懂得了这项技术的原理所在,题目答起来内容都差不多能答对。 基础 简单介绍一下自己,为什么选择做前端? 说下你所在的EPI实验室和CTG工作室是干什么的? 介绍下你最近的项目? 说出你觉得自己身上最优秀的能力? 说出你未来的规划? 你最近有没有什么想要学习的技术? 你有什么要问我的? 布局相关 position的值有哪
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。
在这个这个插件种,我们为组件增加了设置和隐藏text的功能。通过show和hide函数完成,他们被封装在sayhello中。通过下面这句语句设置全局属性:
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被
答案:v-model可以实现双向绑定,指令(v-bind:class、v-for、v-if、v-show、v-on)。vue的model层的data属性。绑定事件:<input @click=doLog()/>
正常情况下,前后端对于请求的参数都需要校验的,这能提高应用程序的稳定性、可维护性,而对于前后台如果能将这种不可缺少校验规则汇总并制定一套规范,在每一个应用程序中都使用这种规范,能给带来不少好处。那在哪些情况下适合使用前、后端校验了:
上篇 《如何编写高质量的 JS 函数(1) -- 敲山震虎篇 》介绍了函数的执行机制,此篇将会从函数的命名、注释和鲁棒性方面,阐述如何编写高质量的 JS 函数。
最近回顾 js 继承的时候,发现还是对一些概念不是很清晰。这里再梳理一下 JS 中继承的几种主要的方式,构造函数继承、原型链继承、组合继承以及原型式继承、寄生式继承、寄生组合式继承和 ES6 的 Class:
作者:vienwu 随便写点啥,不然要被k。。 javascript 的出错我们应该都很熟悉,例如xxx undefined,SyntaxError等。 我们 team 将出现错误的 javascri
选自arXiv 机器之心编译 参与:路雪、李泽南 近日,来自 Fraunhofer IDMT、Tampere University of Technology 与蒙特利尔大学的 Yoshua Bengio 等人在 arXiv 上提交了一篇论文,提出跳过使用泛化维纳滤波器进行后处理的步骤,转而使用循环推断算法和稀疏变换步骤进行歌唱语音分离,效果优于之前基于深度学习的方法。这篇论文已经提交至 ICASSP 2018。 论文:Monaural Singing Voice Separation with Skip
这样是非常常见的用法,包括很多类库都在这样做,但是如果哪天把字符串拼错了,就会直接返回false,所以说这个方法是不太合理的。
如果你存在以上疑惑,那本文章正是你需要的,下面将讲解几种app的类型、app与h5的通信原理、如何区分页面用原生开发还是h5开发。
``` javascript的出错我们应该都很熟悉,例如`xxx undefined`,`SyntaxError`等。 我们team将出现错误的javascript代码取名为badjs,也有一个
前言:在我们的前端网页页面中如果遇到一些表格存储的数据性问题,我们可以将它们存储为excel形式,那么我们今天来看看该如何实现…
image.png 以前就曾经有人问过我,“老尚,你说是不是有的面试官以虐新人为乐?”,,,我说,“传说中,据说有”,,,他说,“我觉得这应该不是传说。” //////// 这是另一个同学给我的留言,
目前几种主流的mvc(vm)框架都实现了单向数据绑定,而我所理解的双向数据绑定无非就是在单向绑定的基础上给可输入元素(input、textare等)添加了change(input)事件,来动态修改model和 view,并没有多高深。所以无需太过介怀是实现的单向或双向绑定。 实现数据绑定的做法有大致如下几种:
前言:多个进程不能同时绑定同一个IP和端口,这是早期Linux内核的一个限制,这个限制给服务器带来了很多不便之处,因为服务器的架构通常不是单进程的,尤其在多核的时代,但是3.9的内核带来了新的特征SO_REUSEPORT。不仅使得服务器的代码逻辑变得简单,对服务器的性能也提升了不少。SO_REUSEPORT的意义是支持同用户下的多个进程同时监听一个IP和端口,本文介绍在Node.js中支持SO_REUSEPORT,以提升Node.js的性能。
领取专属 10元无门槛券
手把手带您无忧上云