国内使用npm安装nodejs 组件会无比的卡顿,经常会失败。还好万能的taobao给我们提供了一个国内能快速访问的镜像。http://npm.taobao.org/
同步组件比较全。速度有保障,再也不用死卡死卡了。
使用方法:
1,使用cnpm组件安装组件
npm install -g cnpm --registry=https://registry.npm.taobao.org
2,修改npm源获取地址
最方便的就是使用第一个方法。
国内使用npm安装nodejs 组件会无比的卡顿,经常会失败。还好万能的taobao给我们提供了一个国内能快速访问的镜像。http://npm.taobao.org/
同步组件比较全。速度有保障,再也不用死卡死卡了。
使用方法:
1,使用cnpm组件安装组件
npm install -g cnpm --registry=https://registry.npm.taobao.org
2,修改npm源获取地址
最方便的就是使用第一个方法。
经过一年多的参悟,哥明白了一些JavaScript的秘密。这里分享下,JavaScript是一个披着c语言皮的lisp语言,和ruby一样灵活。他有很多诡秘的特性,这里先介绍的就是他的异步特性。
异步,JavaScript是一个事件驱动的语言。怎么理解呢,他是一个事件队列,在不停的等待触发。有事件来了,相应的代码就会执行。这点很不像c语言和php这类过程式语言和Java、c++这类面向对象的语言。
首先说一个示例。
var a = 123; (function() { a = 124; })(); alert(a);
这段代码会怎么执行呢?第一行代码会赋值123给a ,接着 匿名函数会直接赋值124给a,然后输出 a的值124;
如果使用异步的调用就不会是这样了
function bark (callback) { setTimeout(function(){ a++; callback("aa"+ a); },0); } var cb = function(msg) { console.log(msg);} var a = 123; bark(cb); a ++; var mg = 'bb'+ a; cb(mg);
这段代码就会异步执行,先输出bb开头的,然后输出aa开头的代码。这种操作一般都是用来将一些事件先执行了,耗时的事情稍后让他自己慢慢执行。
异步的方式还有很多:
1,事件驱动,on事件,omit触发事件。
2,就是setTimeout和setInterval驱动的异步执行策略。
剩下的就是在这两个基础上组合实现的设计模式的实现了。