think.js/cnpm/作用域/回调函数/事件编程

##node环境安装 注意:不要去更改安装的路径
##什么是包? 复杂一些文档的集合
##npm 包管理器(命令行))
npm 安装 命令 npm install 给包名称 -g(全局安装) 最常用
npm init 项目的初始化
npm -v
npm adduser 添加用户信息
npm publish 发布一个包
## 模块 --> 每个文件都是一个模块

## 浏览器端模块化和 服务器端模块 区别:
1 浏览器端没有自带模块化的功能 如果要把浏览器端代码写成模块化 首先引入requiejs 框架 还要去按照requiejs的
规则来写 a define()定义模块 b requiejs 使用模块
2 node里面的模块 自带模块功能 任何一个文件都是一个模块 所以不用去define

注意:node_modules 默认放node的包 在项目中如果没有 通过npm安装包的时候 自动创建这个文件夹

## 控制台输出

  1. NodeJS控制台

console对象代表控制台与Chrome中的控制台一样,不过Node中的控制台输出至CMD窗口Node.js中,可以通过console对象的各种方法向控制台中输出内容。

 

//普通输出
console.log("hello yaoxin");
//错误输出
console.error("错误消息");
//time(flag) timeEnd(flag) 统计一段代码的执行时间,注意timetimeEndflag需一致
console.time("t1");
for(var i=0;i<1000;i++){
    console.log("hehe");
}
console.timeEnd("t1");

## node 作用域 每一个文件就是一个模块 每个模块都是一个独立的
注意:全局作用域 global 不要用 (因为模块化就是为了不互相影响)   在模块内部 作用域链 函数内部要一层一层的由内往外找变量
;(function($){})(jQuery)

## 回调函数 可以作为参数传递
1 是一个最普通的函数
2 可以作为参数传递 *****
3 等到某人某件事干完了 再来调用 绑定事件

## 事件编程
一个高性能的服务器应该有两个特点: 1 事件驱动 2 非阻塞I/O(异步)
事件:发生某件事 911事件 918事件
事件绑定: 当某件事情发生 对应采取的措施

node 模块化

## 事件模块上的一些方法
1 on addListener 绑定事件
2 emit 触发事件
3 once 用once绑定的事件只能触发一次
4 removeAllListeners 移出所有的事件
5 removeListener 移除某个事件
6 setMaxListeners(n)
7 listeners 打印监听的函数数组

 

  1. CNPM

在我们中国,要下载 npm 包非常慢,如果使用 cnpm 下载包就非常快了。

 

CNPMtaobao提供的一个完整 npmjs.org 镜像,cnpmnpm的内容每10分钟会同步一次。

 

安装cnpm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

 

使用cnpm:

cnpm install <模块名>

 

posted @ 2017-05-17 17:00  lylooooo  阅读(98)  评论(0编辑  收藏  举报