Defy

莫道君行早,更有早行人


  • 首页

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 公益 404

  • 个税计算

  • 搜索

浅析Vue响应式原理

发表于 2019-05-20 | 更新于 2019-05-22
本文字数: 1.7k | 阅读时长 ≈ 2 分钟
Vue的双向绑定基本原理是Obeject.defineProperty()劫持对象属性来实现修改数据改变视图,修改视图改变数据。那么具体是如何在数据和视图建立起关联的呢? 通过查看Vue源码我们了解到Vue内部实现了Observer Watcher Compile Dep 四个类,我们理一下逻辑这四个类是如何关联工作的呢?我们先简单介绍一下这四个类是干什么的。1、Observer:Observer通过Obeject.defineProperty劫持data的每个属性,这样我们就能监听到对象属性的 ...
阅读全文 »

Nginx+Php-fpm运行原理详解

发表于 2018-12-13 | 更新于 2019-05-22 | 分类于 PHP
本文字数: 3.7k | 阅读时长 ≈ 3 分钟
Nginx是什么? Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。Nginx是一款轻量级的Web 服务器/反向代理服务器 ...
阅读全文 »

JS单例(ES6)

发表于 2018-12-12 | 更新于 2019-05-22 | 分类于 JavaScript
本文字数: 972 | 阅读时长 ≈ 1 分钟
ES6引入class和constructor来创建对象,下面我们使用ES6实现单例模式使用static关键字定义静态方法 class Singleton { constructor(name) { this.name = name; this.instance = null; } static getInstance(name) { if(!this.instance) { this.instanc ...
阅读全文 »

JS中各类型值对应布尔值

发表于 2018-12-06 | 更新于 2019-05-22 | 分类于 JavaScript
本文字数: 1.1k | 阅读时长 ≈ 1 分钟
Boolean 对象描述 在 JavaScript 中,布尔值是一种基本的数据类型。Boolean 对象是一个将布尔值打包的布尔对象。Boolean 对象主要用于提供将布尔值转换成字符串的 toString() 方法。 当调用 toString() 方法将布尔值转换成字符串时(通常是由 JavaScript 隐式地调用),JavaScript 会内在地将这个布尔值转换成一个临时的 Boolean对象,然后调用这个对象的 toString() 方法。 使用Boolean包装函数123456789 ...
阅读全文 »

Object.defineProperty 简单实现数据双向绑定

发表于 2018-12-06 | 更新于 2019-05-22 | 分类于 JavaScript
本文字数: 760 | 阅读时长 ≈ 1 分钟
Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。 描述 该方法允许精确添加或修改对象的属性。通过赋值操作添加的普通属性是可枚举的,能够在属性枚举期间呈现出来(for…in 或 Object.keys 方法), 这些属性的值可以被改变,也可以被删除。这个方法允许修改默认的额外选项(或配置)。默认情况下,使用 Object.defineProperty() 添加的属性值是不可修改的。 html12<inp ...
阅读全文 »

搭建自己的ngrok内网穿透服务

发表于 2018-11-02 | 更新于 2019-05-22 | 分类于 Ngrok
本文字数: 2.9k | 阅读时长 ≈ 3 分钟
为什么需要内网穿透很实用的一个场景,我们在进行微信公众号开发的时候,进行用户授权、调用JSDDK、处理公众号消息的时候需要一个可以访问的域名,如果每次都往服务器上传很麻烦,为了解决问题我们可以使用内网转发工具。比如国外的https://ngrok.com/,国内的https://ngrok.cc/、echosite、https://natapp.cn 搭建自己的内网穿透上面的这些使用起来有诸多限制,例如:不稳定,收费,不能自定义域名等等,所以决定自己用ngrok撸一个。首先准备一个域名,将域名解 ...
阅读全文 »

Git忽略已经过的本地文件并删除线上已经提交的文件

发表于 2018-10-26 | 更新于 2019-05-22 | 分类于 Git
本文字数: 172 | 阅读时长 ≈ 1 分钟
在根目录添加.gitignore忽略文件,并且设置要忽略的文件或者目录,当要忽略的文件以及提交时 删除本地缓存中的文件 1git rm -r --cached 文件名 将删除的文件添加到本地暂存区 1git add . 将本地变更信息提交到本地仓库 1git commit -am '变更信息' 推送到远程仓库 1git push
阅读全文 »

发布一个属于自己的npm包

发表于 2018-10-26 | 更新于 2019-05-22 | 分类于 NPM
本文字数: 643 | 阅读时长 ≈ 1 分钟
发布一个属于自己的npm包 注册NPM 首先登陆npm官网注册一个账号,其中Username就是自己的登陆账号也是用于后面命名包,例如我的包@defy/wx-jssdk 初始化项目 执行初始化命令,会让你填选一些信息,一路回车下去就好,后续可以在pkg里面改 1npm init 修改项目结构 在根目录创建文件夹src,并且新建index.js123456var hello = { say: function () { console.log('hell ...
阅读全文 »

vue中的跨域代理

发表于 2018-10-15 | 更新于 2019-05-22 | 分类于 Vue
本文字数: 696 | 阅读时长 ≈ 1 分钟
vue中的跨域代理 通常我们使用npm run dev运行的是在localhost:8080下面运行的,如果api接口没有对跨域进行设置的话那么此时浏览器同源策略会告诉你无法请求接口在vue-cli2.0创建的项目中我们可以在config文件夹下的index.js配置文件中对proxyTable进行如下配置 12345678dev: { proxyTable: { '/api': { //将www.exaple.com印射为/apis ...
阅读全文 »

git reset --hard误操作导致文件丢失

发表于 2018-09-18 | 更新于 2019-05-22 | 分类于 Git
本文字数: 218 | 阅读时长 ≈ 1 分钟
解决已经add,但是没有commit,直接运行git reset –hard xxxxx的情况(因为据说没有add直接返回版本就是死了,而且都硬了的那种) 执行 git fsck –lost-found; 在.git/lost-found目录下找找看有没有你丢失的文件; 有的话复制出来,如果是文本,直接改成正确扩展名,你就笑了; 没有的话,就再去Google吧; 相关文章关于git reset –hard导致文件丢失的血的教训
阅读全文 »
12
Defy

Defy

Defy的博客

16 日志
9 分类
13 标签
RSS
© 2019 Defy | 22k | 20 分钟
访客数人