初识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 );

你可能感兴趣的:(初识node)