1.global
Node.js环境中唯一的全局对象:global
进入Node.js交互环境,可以直接输入:
>global.console
Console {
log: [Function: bound ],
info: [Function: bound ],
warn: [Function: bound ],
error: [Function: bound ],
dir: [Function: bound ],
time: [Function: bound ],
timeEnd: [Function: bound ],
trace: [Function: bound trace],
assert: [Function: bound ],
Console: [Function: Console] }
2.process
Node.js提供的一个对象,代表当前Node.js进程
一些基础应用:
process.version;
process.platform;
process.arch;
process.cwd();//返回当前工作目录
process.chdir('/private/tmp');// 切换当前工作目录
下一次事件响应中执行代码,可以调用process.nextTick()。不是立刻执行,而是要等到下一次事件循环。
响应exit事件,就可以在程序即将退出时执行某个回调函数
// 程序即将退出时的回调函数:
process.on('exit', function (code) {
console.log('about to exit with code: ' + code);
});
3.fs
Node.js内置的fs模块就是文件系统模块,负责读写文件。fs模块同时提供了异步和同步的方法。
异步读文件: fs.readFile()
'use strict';
var fs = require('fs');
fs.readFile('sample.txt', 'utf-8', function (err, data) {
if (err) {
console.log(err);
} else {
console.log(data);
}
});
同步读文件: fs.readFileSync()
'use strict';
var fs = require('fs');
var data = fs.readFileSync('sample.txt', 'utf-8');
console.log(data);try {
var data = fs.readFileSync('sample.txt', 'utf-8');
console.log(data);
} catch (err) {
console.log(err); // 出错了
}
参照:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501497361a4e77c055f5c4a8da2d5a1868df36ad1000
4.文件类型转换
读取二进制文件时,不传入文件编码时,回调函数的data参数将返回一个Buffer对象。
在Node.js中,Buffer对象就是一个包含零个或任意个字节的数组(注意和Array不同)
Buffer对象可以和String作转换
Buffer对象转换成String:
vartext = data.toString('utf-8')
String转换成Buffer对象
varbuf = Buffer.from(text,'utf-8');
5.写文件
异步写入文件 fs.writeFile()
'use strict';
var fs = require('fs');
var data = 'Hello, Node.js';
fs.writeFile('output.txt', data, function (err) {
if (err) {
console.log(err);
} else {
console.log('ok.');
}
});
同步写入文件 writeFileSync()
'use strict';
var fs = require('fs');
var data = 'Hello, Node.js';
fs.writeFileSync('output.txt', data);
6.文件状态
获取文件状态 fs.stat(),返回文件Stat对象
同步函数statSync()
7.同步异步?
由于Node环境执行的JavaScript代码是服务器端代码,所以,绝大部分需要在服务器运行期反复执行业务逻辑的代码,必须使用异步代码,否则,同步代码在执行时期,服务器将停止响应,因为JavaScript只有一个执行线程。
服务器启动时如果需要读取配置文件,或者结束时需要写入到状态文件时,可以使用同步代码,因为这些代码只在启动和结束时执行一次,不影响服务器正常运行时的异步执行。
网友评论