夭幻境地

关注技术,关心成长,关怀世事人情

  • bluebird与原生Promise对象及bluebird模块的中文API文档

    2018-07-12 11:30 211
    Promise对象已在ECMAScript 2015中被写入标准,且已被最新版本的浏览器和Node.js/IO.js所支持。bluebird是一个第三方Promise规范实现库,它不仅完全兼容原生Promise对象,且比原生对象功能更强大。相关介绍主要API相关介绍1 bluebird与PromiseJavaScript中有很多第三方的Promise库,在ECMAScript 2015(ES 6)中也实现了一个Promise对象,可以在最新版本的浏览器和Node.js/IO.js中使用。bluebird同样是一个第三方Promise类库,相比其它第三方类库或标准对象来说,其有以下优点...
  • JavaScript的异步通信——XMLHttpRequest详解

    2018-06-15 13:56 273
    简介浏览器与服务器之间,采用 HTTP 协议通信。用户在浏览器地址栏键入一个网址,或者通过网页表单向服务器提交内容,这时浏览器就会向服务器发出 HTTP 请求。1999年,微软公司发布 IE 浏览器5.0版,第一次引入新功能:允许 JavaScript 脚本向服务器发起 HTTP 请求。这个功能当时并没有引起注意,直到2004年 Gmail 发布和2005年 Google Map 发布,才引起广泛重视。2005年2月,AJAX 这个词第一次正式提出,它是 Asynchronous JavaScript and XML 的缩写,指的是通过 JavaScript 的异步通信,从服务器获取 XML ...
  • webpack的核心对象

    2017-12-10 22:08 714
    webpack中的核心对象我们不会讲所有 webpack 中的对象都拿出来讲解,而是整理了一些比较核心的概念。我们可以先看看下面的类图:下面的论述将会逐一讲述类图中的对象,首先我们先来看一下最顶层的类 Tapable。TapableTapable 提供了 webpack 中基于任务点的架构基础,它将提供任务点注册的方法以及触发的方法。一个简单的例子,使用 plugin 方法来注册一个任务点,然后使用 applyPlugins 方法触发:let obj = new Tapable() obj.plugin("name", (params...
  • webpack的基本架构和构建流程

    2017-12-10 21:58 714
    webpack的基本架构webpack 的基本架构,是基于一种类似事件的方式。下面的代码中,对象可以使用 plugin 函数来注册一个事件,暂时可以理解为我们熟悉的 addEventListener。但为了区分概念,后续的讨论中会将事件名称为 任务点,比如下面有四个任务点 compilation,optimize, compile, before-resolve:compiler.plugin("compilation", (compilation, callback) => { // 当Compilation...
  • 正则表达式中的中括号

    2017-12-08 13:42 657
    中括号在正则中称为字符组(Character class),有的书翻译为字符类,还有的翻译成字符集。我觉得字符组更好点,毕竟class在计算机属于中代表面向对象里的“类”。顾名思义,字符组为一组字符,它表示在一个位置里可能出现的多种字符。注意这里强调只匹配一个位置哦。简单字符组范围字符组组合字符组排除型字符组字符组运算预定义字符组 简单字符组示例1:[123] 可以分别匹配包含1-3这5个数的字符串。var reg = /[123]/ reg.test('1') // -> true reg.test('2') // -> true reg.test('3') // -&...
  • vue-cli 构建的项目结构分析

    2017-07-10 16:16 1216
    由于最近在vue-cli生成的webpack模板项目的基础上写一个小东西,开发过程中需要改动到build和config里面一些相关的配置,所以刚好趁此机会将所有配置文件看一遍,理一理思路,也便于以后修改配置的时候不会“太折腾”。一、文件结构本文主要分析开发(dev)和构建(build)两个过程涉及到的文件,故下面文件结构仅列出相应的内容。├─build │ ├─build.js │ ├─check-versions.js │ ├─dev-client.js │ ├─dev-server.js │ ├─utils.js │ ├─vue-loader.conf.js │ ...
  • 通信库Axios - 使用说明

    2017-07-10 12:31 1693
    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。Features从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRF浏览器支持安装使用 npm:$ npm install axios 使用 bower:$ bower install axios 使用 cdn:<script src="https://unpkg.com/axios...
  • AngularJS Filter用法

    2017-01-13 15:38 1152
    Filter简介Filter是用来格式化数据用的。Filter的基本原型( ‘|’ 类似于Linux中的管道模式):{{ expression | filter }}Filter可以被链式使用(即连续使用多个filter):{{ expression | filter1 | filter2 | ... }}Filter也可以指定多个参数:{{ expression | filter:argument1:argument2:... }}AngularJS内建的FilterAngularJS内建了一些常用的Filter,我们一一来看一下。currencyFilter(currency):用途:格式...
  • EsLint——检查Javascript编程时的语法错误

    2016-12-26 11:03 2004
    介绍EsLint帮助我们检查Javascript编程时的语法错误。比如:在Javascript应用中,你很难找到你漏泄的变量或者方法。EsLint能够帮助我们分析JS代码,找到bug并确保一定程度的JS语法书写的正确性。EsLint是建立在Esprima(ECMAScript解析架构)的基础上的。Esprima支持ES5.1,本身也是用ECMAScript编写的,用于多用途分析。EsLint不但提供一些默认的规则(可扩展),也提供用户自定义规则来约束我们写的Javascript代码。EsLint提供以下支持:ES6AngularJSJSXStyle检查自定义错误和提示EsLint提供以下几种校...
  • ES6/ES2015 小菜一碟

    2016-11-25 17:27 1104
    最新的Javascrip迭代即将来临。截至2015年六月 es2015 ES6 /规格已获得批准,因此,你的浏览器将会支持大量的新特性和语法。让我们从新版本中拆分一些小菜一碟的知识点.当我说小菜一碟时,这意味着那些知识不需要大量的研究就可以轻松上手。例如我不会在这里讲生成器和展开运算符,我认为(解释)这些需要一个更深入的文章。我们会在这篇文章中讲到下面的这些新特性:letconstTemplate StringsClassesArrow FunctionsPromises论let在目前的JS中,我们有函数作用域。这意味着如果变量在一个函数中通过var关键字创建,那么它和这个函数是绑定的。在这个...
  • 加载更多