Web
文章平均质量分 57
Moking丶
这个作者很懒,什么都没留下…
展开
-
「Canvas 动画 」- 烟花
前言在开发之前,我们要了解一下烟花从上升到爆炸的过程:1. 设定烟花初始位置,爆炸位置,朝终点飞行2. 受重力作用, 上升速度逐渐减慢3. 烟花到达爆炸位置,爆炸散发出火花,烟花圆点消失4. 火花以爆炸位置为圆心,向四周扩散,并且高度缓慢下降5. 经过短暂时间,火花消失由此,我们可以先列出主要对象和属性:烟花实时坐标: (x, y)颜色:color半径:radius携带爆炸火花:booms发生爆炸坐标:boomPoint是否已经爆炸:dead火花实时坐标: (x.原创 2021-01-08 16:54:01 · 310 阅读 · 0 评论 -
Electron-vue开发实战 - 文件下载及进度显示
主要通过 Electron 中 will-download 事件和主进程和渲染进程之间的通信,实时监听下载进度main/index.jsmainWindow.webContents.session.on('will-download', (e, item) => { //获取文件的总大小 const totalBytes = item.getTotalBytes(); //设置文件的保存路径,此时默认弹出的 save dialog 将被覆盖 const rootPa原创 2021-01-08 16:53:15 · 3579 阅读 · 2 评论 -
Electron-vue开发实战 - 自动更新
electron-builder构建的应用自动更新可以使用electron-updater很快的实现版本的自动更新.使用安装npm i electron-updater在package.json中加入publish和版本更新信息{ "version": "0.5.18", ... "build": { "releaseInfo": { "releaseNotes": "1.添加了 xxxx\n2.更新了xxxx\n3.修复了 xxxx原创 2021-01-08 16:52:15 · 509 阅读 · 0 评论 -
「CKEditor5」富文本编辑器定制
为什么使用CKEditor5方便集成:可以与Angular,React和Vue.js集成,也可以和Electron和移动设备(Android,iOS)兼容。可定制化:可以自定义自己所需的编辑功能,如自动格式化,上传适配器,导出 PDF 等功能安装使用1.创建自己的CKEditor有关更多详细信息,请查看此官方教程。也可以使用官方在线定制选择自己需要的功能组件。git clone -b stable https://github.com/ckeditor/ckeditor5-build-cla原创 2021-01-08 16:49:53 · 743 阅读 · 0 评论 -
「Strapi」无头CMS,快速构建API
Strapi介绍Strapi是一个免费的开源无头CMS,可以快速构建自己所需的 API。保持对数据的控制。使用Strapi,可以知道数据的存储位置,并且始终可以完全控制。自托管。可以按照自己的方式托管和扩展Strapi项目。可以选择所需的任何托管平台:AWS,Netlify,Heroku,VPS或专用服务器。您可以随增长而扩展,100%独立。可以选择自己喜欢的数据库。Strapi适用于SQL和NoSQL数据库:MongoDB,PostgreSQL,MySQL,MariaDB和SQLite。可定制原创 2021-01-08 16:48:59 · 1642 阅读 · 0 评论 -
「JS 基础」异世界为例理解原型链
假如这是一个能继承武功的异世界灵魂链__proto__// 异世界的每个人都是以 Person 为原型诞生的function Person() { this.type = "异界人";}// 宇宙中诞生了一个灵魂:王一function 王一() {}// 王一的灵魂来到了异世界,以 Person 为原型 重塑了灵魂王一.prototype = new Person();// 王一的灵魂附着在一个叫王1的孩子上,在异世界出生了const 王1 = new 王一();// .原创 2021-01-08 16:47:38 · 139 阅读 · 0 评论 -
Promise
概念Promise 对象用于表示一个异步操作的最终完成 (或失败), 及其结果值.让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象.Promise有三种状态,就好像你向一个女孩表白表白过程中: 不知道她会是拒绝还是同意,先鼓起勇气表白就对了表白成功: 兴奋得跳起来,然后做下一步计划表白失败: 找找原因,想想为什么会失败...原创 2020-02-24 23:35:00 · 191 阅读 · 0 评论 -
类型转换
类型转换是指将数据由一种类型变换为另一种类型。在编译器自动赋值时,会发生隐式转换,但在代码中,也可以用一些写法强制要求进行显式转换。例如:在表达式 5 + 2.0 中,整数 5 被隐式转换为浮点数,但 Number(“0x11”) 和 “0x11” 则被显式转换为数字 17。转Boolean条件判断时,除了 undefined, null, false, NaN, '', 0, -0,其他所有...原创 2020-02-23 22:34:38 · 1405 阅读 · 0 评论 -
Symbol 的入门勘察
概念Symbol()函数会返回symbol类型的值,该类型具有静态属性和静态方法。它的静态属性会暴露几个内建的成员对象;它的静态方法会暴露全局的symbol注册,且类似于内建对象类,但作为构造函数来说它并不完整,因为它不支持语法:"new Symbol()"。每个从Symbol()返回的symbol值都是唯一的。一个symbol值能作为对象属性的标识符;这是该数据类型仅有的目的。运用从上述...原创 2020-02-23 00:00:52 · 127 阅读 · 0 评论 -
JS 的内置类型
JS 中分为七种内置类型,七种内置类型又分为两大类型:基本类型和对象(Object)。基本类型: null , undefined , boolean , number , string , symbol 。对象: [] , {} 等判断类型的方法typeof操作符返回一个字符串,表示未经计算的操作数的类型。// 数值typeof 37 === 'number';...原创 2020-02-21 22:23:14 · 485 阅读 · 0 评论 -
JS中的变量提升
概念从概念的字面意义上说,**“变量提升”**意味着变量和函数的声明会在物理层面移动到代码的最前面,但这么说并不准确。实际上变量和函数声明在代码里的位置是不会动的,而是在编译阶段被放入内存中。变量的变量提升var声明的变量提升先看个例子console.log(a) //输出: undefinedvar a = 1 //创建 + 初始化 + 赋值首先我们知道var 声明存在「创建...原创 2020-02-20 22:43:26 · 120 阅读 · 0 评论