美文网首页
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