node-lessons0 1 2

教程:https://github.com/alsotang/node-lessons/tree/master/lesson0

0

nvm 的全称是 Node Version Manager,之所以需要这个工具,是因为 Node.js 的各种特性都没有稳定下来,所以我们经常由于老项目或尝新的原因,需要切换各种版本。

安装:$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.2/install.sh | bash

安装node:nvm install 0.12

查看:nvm ls

1

查看该项目安装的模块

ls node_modules

或者npm list,这是全局的,有一定的结构

2

npm init初始化,会生成一份简单地package.json

npm install express utility --save  可以一次安装两个模块,--才是保存

utility包含了很多辅助方法,而crypto只是单独做加密的;

3爬虫

superagent:http 方面的库,可以发起 get 或 post 请求

好好看看 superagent 的 API,它把链式调用的风格玩到了极致

4并发

eventproxy 没接触过

5async

async demo:https://github.com/alsotang/async_demo

可以控制并发数:mapLimit; queue

这节写的真好。

5测试

require.main === module:   // 如果是直接执行 main.js,则进入此处   // 如果 main.js 被其他文件 require,则此处不会执行。

exports:http://liuzhichao.com/p/1669.html  如果你想你的模块是一个特定的类型就用module.exports。如果你想的模块是一个典型的“实例化对象”就用exports。

var n = Number(process.argv[2]);  一般会用 +  process也是一个对象

mian.text 不能引入 main?  同级的话require(‘./main‘);

执行测试:mocha main.test

var main = require(‘./main‘);
var should = require(‘should‘);

describe(‘main.test.js‘, function(){
	it(‘should equal 55 when n === 10‘, function(){
		main.fibonacci(10).should.equal(55);
	})
})

describe 中的字符串,用来描述你要测的主体是什么;it 当中,描述具体的 case 内容。

mocha 测试库

should 断言库

expect 断言库

这就是传说中的测试驱动开发:先把要达到的目的都描述清楚,然后让现有的程序跑不过 case,再修补程序,让 case 通过。

istanbul 覆盖率

打开看看:open coverage/lcov-report/index.html  也可以直接打开页面

makefile:http://blog.csdn.net/haoel/article/details/2886

时间: 2024-12-17 21:16:16

node-lessons0 1 2的相关文章

node.js的安装及配置

一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(64位/32位) 根据提示一步步安装,安装之后的文件夹如下: 在cmd命令行下输入node -v,如果出现如下,说明安装成功: 二.关于配置 在安装路径下新建两个文件夹: 创建完两个空文件夹之后,打开cmd命令窗口,输入 npm config set prefix "D:\Program Files

Node.js: Extend and Maintain Applications + large scale

https://blog.risingstack.com/node-js-mysql-example-handling-hundred-gigabytes-of-data/ My secondary goal with this article is to help you decide if Node.js + MySQL is a good fit for your needs, and to provide help with implementing such a solution. h

Puppet node节点的特性(十二)

前言: 生产机器很多通常会新建nodes.pp文件和site.pp文件平级,存放于/etc/puppet/manifests/nodes.pp文件,这种方法比较常用.当然也有其他办法直接写入site.pp文件. nodes.pp文件主机匹配,支持正则表达式和继承. //:正则匹配 "":精确匹配 inherits:继承 实例: 先正则匹配然后在精确匹配. node /sh-(proxy|web)\d+/ {   case $::hostname {     "sh-proxy

1.node.js windows环境搭建

作为服务端运行javascript的平台的NodeJs,把前台javascript移到了服务器端,Google V8引擎使其运行效率非常高,它可以异步,无任何阻塞运行程序.nodejs包含http服务器,可以为我们实现 web系统设计,客户端javascript编译器,等一系列的功能. 工具/原料 windows系统电脑 ,电脑可以上网 方法/步骤 下载windows平台nodejs环境安装包,百度一下nodejs官网,找到DOWNLOADS点击,找到Windows Installer 如果为6

hidden node and exposed node problem

Exposed node problem In wireless networks, theexposed node problem occurs when a node is prevented from sending packets to other nodes because of a neighboring transmitter. Consider an example of 4 nodes labeled R1, S1, S2, and R2, where the two rece

在Node.js中使用RabbitMQ系列二 任务队列

在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心解决的问题是避免立即处理那些耗时的任务,也就是避免请求-响应的这种同步模式.取而代之的是我们通过调度算法,让这些耗时的任务之后再执行,也就是采用异步的模式.我们需要将一条消息封装成一个任务,并且将它添加到任务队列里面.后台会运行多个工作进程(worker process),通过调度算法,将队列里的任

node.js搭建代理服务器请求数据

1.引入node.js中的模块 1 var http = require("http"); 2 var url = require("url"); 3 var qs = require("querystring"); 2.创建服务器 //用node中的http创建服务器 并传入两个形参 http.createServer(function(req , res) { //设置请求头 允许所有域名访问 解决跨域 res.setHeader("

第十章—DOM(0)—NODE类型

DOM1定义了一个node接口,该接口由DOM的所有节点类型实现. 所有的节点都存在这样或那样的关系.在HTML中,head,body可以看出是html的子元素,html是head,body的父元素,而head,body互为同胞元素. 这里要注意一个概念:nodeList 输出: 如下例子: 1 <div id="myDiv"> </div><!-- 此处有空格 --> 2 <script> 3 var div = document.ge

node &amp;&amp; mysql 结合使用

本文基于mac上的开发,node && mysql的简单结合使用. 一.搭建环境 到官网上下载对应自己电脑的相关的版本.然后启动mysql 在使用npm -v 检测本电脑是否安装了nodejs,如果没有就到node 官网下载相应的版本进行安装,下图是本机上安装的版本 使用npm进行项目的搭建,需要安装express和mysql,在创建好的目录中,执行npm install express mysql --save 这里的express暂时没有用上,可以不用安装 二.项目的结构 本项目是一个

Node.JS 文件读写,把Sheet图集转换为龙骨动画图集

Node.JS 文件读写,把Sheet图集数据转换为龙骨动画图集数据 var fs = require("fs") var readline = require("readline"); var rl = readline.createInterface({ input:process.stdin, output:process.stdout }); var path = undefined; var dbName = undefined; rl.question(