serverless - 无服务 云函数的入门记录
最近写文章需要调用一些接口,而一些借口为了防止被调用做了跨域处理。因为项目是部署在 GitHub 上,想调用一些接口又不能说去买一个服务器吧。。。所以就想到了各大云厂商都在推的云函数,免费,速度又快 真香🤣在试用了腾讯和阿里之后选择了后者,因为腾讯还是需要后端 support 创建函数阿里云提供 Fun、控制台或 vscode 创建函数,刚入门就选择简单的控制台创建函数 如果需要外网访问的话可以选择 http 函数,触发器也需要 http(http 触发器只能在创建函数的时候指定,后期无法修改!)。 函数编写支持在线编辑和代码上传,语言随你选择。我这里使用了 node10 做的 api,如果需要第三方依赖的话需要自己压缩上传或者使用阿里的Fun来部署,每次限制 50MB。 建议使用 Fun 来部署和测试云函数,测试有的功能需要有的 docker,详细的去看官方文档吧。。
js-bind 的多次绑定
前言最近遇到个多次bind绑定的问题,看下面代码你预测下会输出什么 var a=function(){ console.log("a", this) if(typeof this === "function"){ this() } } var b=function(){ console.log("b") if(typeof this === "function"){ this() } } var c=function(){ console.log("c") if(typeof this === "function"){ this() } } var d=a.bind(b) var e=d.bind(c) d() e() 点击查看输出 // abab 我们可以先看看 a在bind的时候发生了什么 d = function() { ...
js-最简实现 promise 源码,异步链式调用的理解
手写 Promise 也是面试的一个特色项目,本篇将用简洁的代码带你了解 Promise 的异步链式调用。 非标准 A+ 规范,想要深入的可以去看 A+ 规范实现的 Promise Promise 代码// promise 运行则执行回调函数, // resolve 函数被执行的时候调用当前实例下挂载的 then 函数。 // 参数1:回调函数 function Promise2(executor) { const self = this; self.onResolvedCallback = []; // 定义 resolve 函数,接受参数 value // resolve 的作用为执行当前实例下的所有 then 函数 function resolve(value) { // A+ 规范 self.value = value; // 此时的 callback 为执行 then 的时候传入的回调 self.onResolvedCallback.forEach(callback =>...
bilibili-在线或本地哔哩哔哩bv号转av号提取互转工具,附官方API和本地JS代码
bilibili,在线哔哩哔哩一键转换bv号至av号工具,哔哩哔哩提取教程
页面结构语义化
前端标签语义化,面试,html,html5
js-面试,手写代码系列:bind,call,apply,new
JavaScript,js手写代码系列
js-复制,document.execCommand 的一些小坑
对于 execCommand 来复制的使用应该不会很陌生,这几天使用的碰上了一个新问题,此方法在请求的时候是无法使用的,往下看👇 默认使用复制const copy = value => { let inp = document.createElement('input'); inp.setAttribute('value', value) document.body.appendChild(inp); inp.select(); document.execCommand('copy') document.body.removeChild(inp) } 在正常情况下 document.execCommand('copy') 是返回 true 的,但是在有异步请求的情况下会返回 false;const copy = value => { let inp =...
一个 Git 项目配置多个仓库
废话不多直接x 普通添加仓库scriptgit remote add origin <git@git.com> 添加多个仓库scriptgit remote add <仓库名称> <git@git.com> # 例子 git remote add newRepository https://github.com/xxx/xxx # 查询 git remote -v # newRepository https://github.com/xxx/newRepository.git (fetch) # newRepository https://github.com/xxx/newRepository.git (push) # origin http://github.com/xxx/xxx (fetch) # origin http://github.com/xxx/xxx (push) # push git push -u newRepository master
git ssh key 设置,多邮箱配置
单邮箱的小伙伴可能没这样的烦恼,但是邮箱多的又需要使用 ssh 的连接就需要此教程啦。 先最基本的配置 ssh 吧ssh-keygen -t rsa -C "你的邮箱” -f ~/.ssh/id_rsa 一直按确定将会在 ~/.ssh,你设置的路径里找到对应公钥私钥 多邮箱配置scriptssh-keygen -t rsa -C "你的另一个邮箱” -f ~/.ssh/id_rsa 生成之后在当前文件夹创建 config 文件 无后缀。 scripttouch config config 文件 script# gitee.com Host gitee.com Port 22 HostName gitee.com PreferredAuthentications publickey IdentityFile /Users/a666/.ssh/id_rsa_jyk User jyk 参数解析script # 配置文件参数 # Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件(可以直接填写ip地址) #...
es2020 实用的几个新方法
最近 JavaScript 从 es6 就提高了更新频率,2019还没有结束 2020的规范就已经开始出草案了😵。话不多说 可选链运算符 ??场景:访问嵌套对象时如果当前为 undefined 或者为 null这时再做其他操作将会报错,可选链运算符可完美解决。const obj = { a: 1, b: '' } console.log(obj.a); // 1 console.log(obj.a.b); // undefined console.log(obj.a.b.c); // Uncaught TypeError: Cannot read property 'c' of undefined console.log(obj.a.b?.c); // 使用可选链运算符 ?. 来访问嵌套对象,如果碰到的是 undefined 或 null 属性,只会返回 undefined console.log(obj.b?.substring); // ƒ substring() { [native code] } 使用可选链运算符...