promise
异步回调地狱:就是多个异步请求嵌套的表现
瑕疵:后期维护难
解决:通过promise技术
什么是promise:就是一种异步编程的解决方案
有三个状态:进行中、成功了,失败了
var p1 = new Promise(function (resolve, reject) { // Promise构造函数 有1个实战 方法
// 方法有2个形参 底层 也是 方法
//1.异步处理代码
//2.判断异步结果
if (操作成功) {
resolve(data) //数据处理完成
} else {
reject(err) //数据处理出错
}
})
var p2 = new Promise(....)
var p3 = new Promise(....)
...
 
p1
.then(function (data) {
console.log('操作成功,数据:' + data)
return p2; //相当于将p2的代码拿过来执行,然后继续调用方法
})
.then(function (data) {
console.log('操作成功,数据:' + data)
return p3; //相当于将p3的代码拿过来执行,然后继续调用方法
})
.then(function (data) {
console.log('操作成功,数据:' + data)
return p4; //相当于将p4的代码拿过来执行,然后继续调用方法
})
//....
.catch(function(err){
console.log(err)
})
.....
async/await
async function 函数名() {
var data = await Promise 对象
.....
}
异步变同步解决纵向太深
回调函数
回调,回调,就是回头调用的意思,主函数的事先干完,回头再调用传进来的函数
跨域
顾名思义跨域名请求,举例a网址【异步请求】了b网址
跨域导致原因:浏览器同源策略
同源策略规则:只要 协议、域名、端口 有一个不一样 则称之为 跨域
同源策略:保证网站数据安全
1-后端声明header头 header("Access-Control-Allow-Origin: *")
2-**JSOP原理 2.1-静态页面通过script标签加载接口,
2.2-接口调用函数 实参是要响应的数据,
2.3-静态页面声明函数,接受参数
3-服务器配置(了解)
4-**前段代理
 
jquery
jq 是基于js封装的一个库(强调 库是一个文件,框架是多个文件)
用JS封装的库,
将原生JS代码封装起来,提供简单的方法供外部操作。
好处:1-更加方便操作网页,2-解决兼容性问题
下载:1-jquery.com/download 2-百度jq cdn
版本:1.x(兼容ie) 2.x 3.x 国内还是推荐使用1.x
JQ->JS $()[0]
JS->JQ $(JS标签对象)
选择器
CSS选择器
过滤选择器 :first :last :eq :odd :even
语法:$(选择器)
常用方法:prev()/next()/parent()/parents()/find()/sibling()
样式1:$().css(CSS属性名,CSS属性值) $().css(JSON对象)
样式2:$().add/remove/has/toggleClass(类名)
属性 :$().attr(属性名,属性值) $().attr(JSON对象)
内容:$().html/text/val() 不传参获取,传参设置
节点:第一个子prepend 最后子append 前兄弟before 后兄弟after 删除remove
$().事件类型(function(){ })
$().on(事件类型,function(){})
委托$(父).on(事件类型, 子, function(){})
 
循环
$.each(数组/对象,function(index, item){});
$(选择器).each(function(index, item){ });
版本控制软件
顾名思义就是一个软件,你每次文件修改它都记录下来,万一代码冲突丢失都可以从记录里面找回
实现开发项目多人协作开发
为了避免代码冲突或丢失使用版本控制软件
版本控制软件是什么:就是一个软件
作用:记录代码每次修改,万一冲突或丢失可以找回
种类:git(黑猫)、svn(龟)
1-得先有仓库 存放项目代码
2-通过版本控制软件 管理仓库代码
github
就是一个网站
作用:创建仓库,存放项目代码
好处:1-防丢失,防误删 2-便于多人协作开发
git解决冲突
拉取dev最新代码合并到自己分支解决完冲突提交
日志回滚
1-多人修改代码冲突 解决:通过git pull 然后提交
2-代码丢失(1别人误删,2版本回滚)
解决:查看提交日志,然后回滚
分支管理
查看分支:git branch
创建分支:git branch 分支名
删除分支:git branch -d 分支名
切换分支:git checkout 分支名
合并分支:git merge 分支名 (注:将其他分支代码合并到当前分支)
 
npm
就是用来下载node第三方模块的命令行工具
去哪下:不用下,node装好了自带的 直接用
验证:DOS窗口敲npm -v
下载模块:npm i/install 模块名或模块名@版本号 默认--save/--save-dev -g
卸载模块:npm uninstall 模块名
思考:--save和--save-dev有什么区
相同点:1-都是下载第三方模块,2-都会在package.json中记录
不同点:记录的位置不同
-g
在全局目录 npm config list去看
作用:只能在dos窗口敲命令,切记切记切记加-g项目中不能require
gulp
因为需要压缩项目中的js、css等静态资源,从而减轻服务器压力,加快访问速度
是前段自动化构建/压缩工具
从而减轻服务器压力,加快访问速度
 
前端代理
解决跨越
代理请求http-proxy-middlewar
css预处理
Sass(SCSS)* vue库/框架
LESS* react库/框架
Sass
导入 @import '路径及文件名';
变量 $变量名: CSS属性值;
嵌套:咋大括号中写选择器即可 会自动加父前缀
混入:@mixin 名称($变量:默认值) {} @include 名称
继承:%名称 {} @extend %名称 jq extend({}) es6 extends 子覆盖父普通方法 子构造函数super
函数:@function 函数名() { @return } 调用 CSS属性名: 函数名()
 
其次SASS和LESS区别:1-声明变量分别为$和@,2-实现方式
Less是基于JavaScript,是在客户端处理的。Sass是基于Ruby的,是在服务器端处理的。
 
模块
将一个复杂的程序,依据一定的规则/规范封装成几个块/文件,内部具体实现是隐藏的只保留部分接口/方法给外部使用
可以解决命名冲突;更好的分离,按需要的加载;提高代码可维护性、可扩展性;
 
闭包
什么是闭包:两个函数彼此嵌套,返回内部函数
特点:1-局部变量常驻内存,2-函数体外可以使用
 
设计模式
设计模式:前辈的开发经验总结的开发思想
思想好处:1-便于维护,2-增强代码重用性,减少代码冗余等
 
 
 
 
 
 
 
 
 

跨域 node git的更多相关文章

  1. CORS 跨域 node |XMLHttpRequest 跨域提交数据 node

    node服务端 app.post('/getdata',function(req,res,next){ req.setEncoding('utf8'); res.setHeader('Access-C ...

  2. 玩转spring boot——ajax跨域

    前言  java语言在多数时,会作为一个后端语言,为前端的php,node.js等提供API接口.前端通过ajax请求去调用java的API服务.今天以node.js为例,介绍两种跨域方式:Cross ...

  3. 深入浅出:了解jsonp跨域的九种方式

    什么是“”跨域”: 跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容.由于安全原因,跨域访问是被各大浏览器所默认禁止的.当一个域与其他域建立了信 ...

  4. angular之跨域

    一.什么是跨域? 跨域是指一个域下的文档或者脚本去请求另一个域下的资源.(广义) 广义的跨域: 1.资源跳转:链接跳转.重定向.表单提交. 2.资源嵌入:<link>.<script ...

  5. js跨域请求解决方案

    什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的. 广义的跨域: 1.) 资源跳转: A链接.重定向.表单提交 2.) 资源嵌入: <link>.&l ...

  6. Node.js配合node-http-proxy解决本地开发ajax跨域问题

    情景: 前后端分离,本地前端开发调用接口会有跨域问题,一般有以下3种解决方法: 1. 后端接口打包到本地运行(缺点:每次后端更新都要去测试服下一个更新包,还要在本地搭建java运行环境,麻烦) 2. ...

  7. 借助node实战JSONP跨域

    一.前言: 浏览器安全是基于同源策略的.所谓同源策略就是三相同: 1.协议相同: 2.域名相同: 3.端口相同. 但,凡事都是有利弊,同源策略也导致了我们想用AJAX跨域请求,但NO!!为了规避这种限 ...

  8. Node.js实现CORS跨域资源共享

    什么是CORS CORS(Cross-origin resource sharing),跨域资源共享,是一份浏览器技术的规范,用来避开浏览器的同源策略 简单来说就是解决跨域问题的除了jsonp外的另一 ...

  9. vue-cli3.0+node.js+axios跨域请求session不一样的问题

    一.问题重述 使用的是,前后端分离,前端vue+axios请求,后端使用node搭建服务端接口,遇到的问题是,我通过登录接口吧数据存储型在session,我登录上以后,发现再次验证登录(另一个接口)的 ...

随机推荐

  1. DolphinScheduler1.2.1源码分析

    DolphinScheduler在2020年2月24日发布了新版本1.2.1,从版本号就可以看出,这是一个小版本.主要涉及BUG修复.功能增强.新特性三个方面,我们会根据其发布内容,做简要的源码分析. ...

  2. console 打印消息时,可以使用 %c 指定随后的文本样式; %s 可引用参数变量。

    1.console.log 使用 加%c console.log('%c Merry Christmas!!', 'color:green;background:yellow;text-shadow: ...

  3. postman设置变量

    参数化 变量引用格式:{{username}}   , 区别jmeter的  {username} 一.设置与引用环境变量 背景:在不同的环境下跑相同的测试,生产环境或测试环境 二.设置与引用全局变量 ...

  4. beego框架之orm模块——mysql

    参考beego原文:http://beego.me/docs/mvc/model/orm.md#main.go beego ORM 是一个强大的 Go 语言 ORM 框架,orm模块主要是处理MVC中 ...

  5. 获取Servlet原生API

    1.请求 <a href="param/test1">Servlet原生API</a> 2.处理方法 @RequestMapping("/para ...

  6. 安装Nginx到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 软件版本:nginx-1.12.2 硬件要求:无 安装过程 1.配置YUM源 [root@localhost ~]# r ...

  7. RPC远程过程调用(Remote Procedure Call)

    RPC,就是Remote Procedure Call,远程过程调用 远程过程调用,自然是相对于本地过程调用 本地过程调用,就好比你现在在家里,你要想洗碗,那你直接把碗放进洗碗机,打开洗碗机开关就可以 ...

  8. StackExchange.Redis 系列 1:基础使用

    本系列博文已经全部完成,完整系列请访问:https://blog.zhuliang.ltd/tags/StackExchange-Redis%E7%B3%BB%E5%88%97/ 本文转自:https ...

  9. 基于element-ui 模仿微信聊天页面以及滚动条隐藏在chrome和其他浏览器的处理

    1.效果图 2.代码 <template> <div style=" overflow: hidden;"> <el-row> <el-c ...

  10. P1028 数的计算( 记忆剪枝 )

    题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数 n ): 先输入一个自然数 n(n≤1000),然后对此自然数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个自然数,但该自然数 ...