nodejs 初步安装使用

安装(centos6.4)

wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
tar -xvf node-v8.11.3-linux-x64.tar.xz
mv node-v8.11.3-linux-x64/ nodejs
cd nodejs/bin
./node  就能正常使用了
想要命令行直接输node进交互式
创建个软连接即可
ln -s 当前绝对路径 /usr/local/bin/node    即可

新建一个http服务器

var http =require("http");
http.createServer(function(request,response){
    response.writeHead(200,{"Content-Type":'text/plain'});    
    response.end("hello world \n");
}).listen(5000);
console.log("server run in http://127.0.0.1:5000/")

另开一个终端发送连接
curl -i http://localhost:5000/

npm包管理工具

使用 npm -v 查看npm的版本来验证npm是否安装成功,源码安装nodejs自带npm

npm包管理工具更新命令
npm install npm -g
如果想使用淘宝镜像
cnpm install npm -g

使用npm 安装包
npm install 模块名

使用npm 更新包
npm update 模块名

首先安装web模块最常用的包express
npm install express

npm安装的所有包的路径都在根目录下的lib/node_modules
比如我的node安装路径 /home/Desktop/nodejs下
那么模块的包就在/home/Desktop/nodejs/lib/node_modules

npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。

npm unpublish <package>@<version>可以撤销发布自己发布过的某个版本代码。

nodejs的使用模块

http  构建web服务  模块
fs    读取文件  模块
events    事件绑定 事件监听 模块

nodejs 的异步依托于回调函数,但不是使用了回调就代表异步

fs是读取文件的包

var fs = require("fs");
fs.readFile("./data/test1.txt",function(err,data){
    if (err) return console.error(err);
    console.log(data.toString());
    });
console.log("end")

nodejs 事件监听

var events = require("events")
通过eventEmitter = new events.EventEmitter(); 创建一个事件对象eventEmitter, 属于events.EventEmitter()
通过eventEmitter.on(event_name,callback) 注册事件
通过eventEmitter.emit(event_name) 唤醒事件
下面是示例

var events = require("events") 
var eventEmitter = new events.EventEmitter();

var connect_func = function(){
    console.log("connect success!")
    eventEmitter.emit("recv_data");
    };

var recv_data = function(){
    console.log("recv_data is success");
    }

eventEmitter.on("connect",connect_func);
eventEmitter.on("recv_data",recv_data);

eventEmitter.emit("connect");
console.log("produre is end");

程序运行结果:
connect success!
recv_data is success
produre is end

一个callback是可以注册多个event_name的
同样一个event_name也可以注册多个callback

监听事件的其他API
eventEmitter.once(event_name,callback) 为callback指定一个单次监听器

eventEmitter.removeListener(event_name,callback) 移除callback对应的监听器之一(event_name对应的监听)

eventEmitter.removeAllListeners([event_name]) 如果指定event_name,则移除事件名对应的所有callback,如果不指定,则移除所有event_name对应的callback

eventEmitter.setMaxListeners(num) 如果eventEmitter注册的事件超过10个就会报警,该语句可以修改注册事件上限num

eventEmitter.emit(event, [callback1], [callback2], [...]) 按参数的顺序执行每个监听器,如果事件有注册监听返回 true,否则返回 false,如果唤醒多个callback,返回的是callback对应的boolean值组成的数组

eventEmitter.listeners(event_name) 返回event_name监听的所有callback 数组

require("events")EventEmitter().listenerCount(EventEmitter的实例对象名(eventEmitter), event_name) 类调用类方法. 返回eventEmitter对象下event_name 监听的callback数量num

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351