摘要: vue 组件发布为 npm 包,分为如下三个步骤 [1] 创建 package 文件,里边包含了你要发布包的一些信息(name/version 等) [2] 发布 vue 包需要用到 webpack 打包/ es6 语法/vue 文件所以需要配置一下 webpack [3] 注册 npm 账号,发布 阅读全文
posted @ 2018-12-26 10:29 heyushuo 阅读(8263) 评论(0) 推荐(0) 编辑
摘要: 一.什么是闭包 高级程序设计三中:闭包是指有权访问另外一个函数作用域中的变量的函数.可以理解为( 能够读取其他函数内部变量的函数 ) 闭包的作用: 正常函数执行完毕后,里面声明的变量被垃圾回收处理掉,但是闭包可以让作用域里的 变量,在函数执行完之后依旧保持没有被垃圾回收处理掉 二. 闭包的实例 接下 阅读全文
posted @ 2018-11-17 22:11 heyushuo 阅读(33928) 评论(5) 推荐(3) 编辑
摘要: 开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境。 一、首先创建package.json并且安装webpack和webpack-dev-server 接下来开始配置一个完整项目 阅读全文
posted @ 2018-03-13 11:25 heyushuo 阅读(5566) 评论(0) 推荐(1) 编辑
摘要: 项目发布时,为了解决缓存,需要进行md5签名,这时候就需要用到 hash 和 chunkhash等。 问题一:hash问题 使用 hash 对js和css进行签名时,每一次hash值都不一样,导致无法利用缓存 原因是因为, hash 字段是根据每次编译compilation的内容计算所得,也可以理解 阅读全文
posted @ 2018-03-12 15:17 heyushuo 阅读(6609) 评论(0) 推荐(0) 编辑
摘要: webpak配置字体图标有两种方式 一、将字体图标和css打包到同一个文件中。 1.首先需要安装url-loader 2.相关配置如下(开发环境使用这个方式是可以的) 上文中的limit一定要保证大于最大字体文件的大小,因为这个参数是告诉url-loader,如果文件小于这个参数,那么就以Data 阅读全文
posted @ 2018-03-11 12:22 heyushuo 阅读(4919) 评论(0) 推荐(0) 编辑
摘要: 1.在webpack中需要处理css必须先安装如下两个loader 2.要处理sass和添加浏览器前缀需要下载如下插件和loader 3.webpack中配置如下所示 这是官网提供的例子完全可以使用,没必须要在单独建立一个配置文件 点击进入官网地址 4.打包后效果如下 以后再也不用考虑浏览器兼容问题 阅读全文
posted @ 2018-03-11 09:48 heyushuo 阅读(5933) 评论(0) 推荐(0) 编辑
摘要: 1、module.exports module变量代表当前模块。这个变量是一个对象,module对象会创建一个叫exports的属性,这个属性的默认值是一个空的对象: 例子:app.js require方法用于加载模块。 2、exports 与 module.exports的关系 Node为每个模块 阅读全文
posted @ 2018-03-07 13:18 heyushuo 阅读(19681) 评论(3) 推荐(7) 编辑
摘要: 一.class 的基础用法 1.ES6 引入 Class(类)这个概念,作为对象的模板。通过 class 关键字,可以定义类。 ES6 类的 constructor(构造方法)函数相当于 ES5 的构造函数 定义“类”的方法的时候,前面不需要加上 function 这个关键字 类的所有方法都定义在类 阅读全文
posted @ 2018-12-10 15:30 heyushuo 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 一.原型式继承 1.这种方法并没有使用严格意义上的构造函数,借助原型可以基于已有的对象创建新的对象 缺点: 包含引用类型的属性值始终都会 共享相应的值 ,和 原型链继承 一样。 2.ES5 通过新增 Object.create()方法规范化了原型式继承 ,此方法可以接受 两个参数 ,第一个参数最为新 阅读全文
posted @ 2018-12-03 12:00 heyushuo 阅读(1682) 评论(0) 推荐(0) 编辑
摘要: 一.构造函数继承 1. 构造函数继承的基本思路是在子类型的构造函数中,调用要继承的构造函数,具体实现如下: 2. 优点(可以传递参数) 3.构造函数的缺点 因为方法和属性 只能写在构造函数中 ,因此 不能实现函数复用 只能继承父类的实例属性和方法, 不能继承原型属性/方法 (原型中定义的方法和属性对 阅读全文
posted @ 2018-11-22 23:34 heyushuo 阅读(3083) 评论(0) 推荐(0) 编辑
摘要: 原型链继承 原型链作为实现继承的主要方法,其基本思路是利用原型让一个引用类型继承另一个引用类型的 属性和方法 , 构造函数,原型和实例之间的关系通过一张图来解释一下,需要详细了解的可以看一下我的另外一篇文章 " JavaScirpt 之原型&原型对象和原型链 " 原型链继承的基本模式如下: 通过如下 阅读全文
posted @ 2018-11-19 14:23 heyushuo 阅读(5123) 评论(0) 推荐(0) 编辑
摘要: 一.什么是作用域 作用域即定义变量的区域,javascript 是不存在块级作用域的(例如 if 和 for 体现了没有块级作用域), javascript 除了全局作用域之外,只有函数可以创建的作用域。 注意 :函数创建的作用域在函数 定义时就已经确定了 。而不是在函数调用时确定。(这是因为 js 阅读全文
posted @ 2018-11-16 10:00 heyushuo 阅读(453) 评论(1) 推荐(0) 编辑
摘要: 一.什么是执行上下文 1.执行上下文 当执行一段代码的时候, JavaScript 引擎会首先进入一个准备阶段, 准备阶段结束后才会进入代码执行阶段, 我们称这个准备阶段为 执行上下文, 执行上下文包含了三种全局执行环境,函数体执行环境,eval 代码(不清楚) 举个例子: 谈到执行上下文需提到另外 阅读全文
posted @ 2018-11-13 21:48 heyushuo 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 一.call()和 apply()概念和区别 1.概念 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。 2.区别 call()和 apply()唯一区别在于传参数,apply( 阅读全文
posted @ 2018-11-04 21:49 heyushuo 阅读(399) 评论(1) 推荐(0) 编辑
摘要: 一.什么是原型呢? 我们创建每一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象.(即prototype即为函数的原型该原型指向的是一个原型对象) 二.什么是原型对象呢? 我们创建每一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象(即原型 阅读全文
posted @ 2018-10-27 11:34 heyushuo 阅读(576) 评论(0) 推荐(0) 编辑