美文网首页
2018-06-25 学习NodeJs 基本模块

2018-06-25 学习NodeJs 基本模块

作者: 石头Oday | 来源:发表于2018-06-27 11:27 被阅读5次

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只有一个执行线程。

    服务器启动时如果需要读取配置文件,或者结束时需要写入到状态文件时,可以使用同步代码,因为这些代码只在启动和结束时执行一次,不影响服务器正常运行时的异步执行。

相关文章

网友评论

      本文标题:2018-06-25 学习NodeJs 基本模块

      本文链接:https://www.haomeiwen.com/subject/eriuyftx.html