初识node

process.cwd(); 查看当前目录
process.chdir('目录'); 改变应用程序目录
process.stdout.write(''); 标准输出流,类似console.log()
process.stderr.write(''); 标准错误流

stdin 是进程的输入流,可以通过注册事件的方式来获取输入的内容

process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk !== null) {
process.stdout.write('data: ' + chunk);
}
});

exit 程序内杀死进程,退出程序。
process.exit(code); //code为退出后返回的代码,默认为0

process.on() 监听事件进程事件。
退出之前,监听exit事件
process.on("exit",function(code){
//进行一些清理工作
console.log("I am tired...")
});
var tick = Date.now();
console.log(tick);

uncaughtExpeption 进程发生了未捕捉的异常
//参数err表示发生的异常
process.on("uncaughtException",function(err){
console.log(err);
});
//故意抛出一个异常
throw new Error("我故意的...");

设置编码流
(输出输入内容有中文时,容易产生乱码)
process.stdout.setEncoding('utf-8');

                                                                  I/O 文件操作流

fs模块提供writeFile函数,可以异步的将数据写入一个文件, 如果文件已经存在则会被替换。
writeFile函数虽然可以写入文件,但是如果文件已经存在,我们只是想添加一部分内容,它就不能满足我们的需求了,很幸运,fs模块中还有appendFile函数,它可以将新的内容追加到已有的文件中,如果文件不存在,则会创建一个新的文件。
exists的回调函数只有一个参数,类型为布尔型,通过它来表示文件是否存在。
rename 提供文件改名,移动文件。
readFile 读取文件。
unlink 删除文件。
fs.mkdir(路径,权限,回调函数(err)); 创建文件。
fs.rmdir(路径,回调函数(err)); 删除目录
fs.readdir(目录,回调函数(err,files)); 读取目录下所有文件
var fs= require("fs");

fs.writeFile('test.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('Saved successfully'); //文件被保存
});

                                                    url

parse解析url、返回一个json格式的数组。
var url = require('url');
url.parse('http://www.baidu.com');
format函数的作用与parse相反,它的参数是一个JSON对象,返回一个组装好的url地址;
resolve函数的参数是两个路径,第一个路径是开始的路径或者说当前路径,第二个则是想要去往的路径,返回值是一个组装好的url;

                                                      path

normalize函数将不符合规范的路径经过格式化转换为标准路径,解析路径中的.与..外,还能去掉多余的斜杠。
var path = require('path');
var data = path.normalize('/path///normalize/hi/..'); // '/path/normalize/'
join函数将传入的多个路径拼接为标准路径并将其格式化,返回规范后的路径,避免手工拼接路径字符串的繁琐。
dirname函数用来返回路径中的目录名。
basename函数可返回路径中的最后一部分,并且可以对其进行条件排除。
extname函数返回路径中文件的扩展名(以最后一个'.'开始,返回'.'以及'.'以后的所有字符串,如没有'.',则返回空字符串)。
stringify函数的作用就是序列化对象,也就是说将对象类型转换成一个字符串类型(默认的分割符("&")和分配符("=")),querystring.stringify("对象","分隔符","分配符").
parse函数的作用就是反序列化字符串(默认是由"="、"&"拼接而成),转换得到一个对象类型。
var querystring= require('querystring');
var result = querystring.stringify({foo:'bar',cool:['xux', 'yys']});
foo=bar&cool=xux&cool=yys

                                                      util模块

一个Node.js核心模块,提供常用函数的集合,用于弥补核心JavaScript的一些功能过于精简的不足。
util.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换为字符串的函数,通常用于调试和错误输出。
format函数根据第一个参数,返回一个格式化字符串,第一个参数是一个可包含零个或多个占位符的字符串。每一个占位符被替换为与其对应的转换后的值,支持的占位符有:"%s(字符串)"、"%d(数字<整型和浮点型>)"、"%j(JSON)"、"%(单独一个百分号则不作为一个参数)"。
sArray函数可以判断对象是否为数组类型,是则返回ture,否则为false。
isDate函数是可以判断对象是否为日期类型,返回布尔值。
isRegExp函数可以判断对象是否为正则类型,是则返回ture,否则返回false。

                                              子进程 child_process

awn函数用给定的命令发布一个子进程,只能运行指定的程序,参数需要在列表中给出。
var child_process = require('child_process');
var child = child_process.spawn( command );
child.stdout.on('data', function(data) {
console.log(data);
});
exec也是一个创建子进程的函数,与spawn函数不同它可以直接接受一个回调函数作为参数,回调函数有三个参数,分别是err, stdout , stderr,
var child_process = require('child_process');
child_process.exec( command , function(err, stdout , stderr ) {
console.log( stdout );
});
execFile函数与exec函数类似,但execFile函数更显得精简,因为它可以直接执行所指定的文件。
var child_process = require('child_process');
child_process.execFile( file , function(err, stdout , stderr ) {
console.log( stdout );
});
fork函数可直接运行Node.js模块,所以我们可以直接通过指定模块路径而直接进行操作。
var child_process = require('child_process');
child_process.fork( modulePath );

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

推荐阅读更多精彩内容

  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,221评论 0 6
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,419评论 1 37
  • //公共引用 varfs =require('fs'), path =require('path'); 1、读取文...
    才気莮孒阅读 813评论 0 1
  • Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScr...
    FTOLsXD阅读 507评论 0 2
  • 我们知道默认情况下,Markdown 插入的表格,单元格中的内容默认左对齐;表头单元格中的内容会一直居中对齐(不同...
    zizi192阅读 256,743评论 7 66